Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(deps): update osv-scanner minor (#1187)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [deps.dev/api/v3](https://github.com/google/deps.dev) | `v3.0.0-20240730004939-e80e6658c33b` -> `v3.0.0-20240807013505-16da96fe8b66` | [![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2fapi%2fv3/v3.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2fapi%2fv3/v3.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2fapi%2fv3/v3.0.0-20240730004939-e80e6658c33b/v3.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2fapi%2fv3/v3.0.0-20240730004939-e80e6658c33b/v3.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [deps.dev/util/maven](https://github.com/google/deps.dev) | `e80e665` -> `16da96f` | [![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fmaven/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fmaven/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fmaven/v0.0.0-20240730004939-e80e6658c33b/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fmaven/v0.0.0-20240730004939-e80e6658c33b/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | | [deps.dev/util/resolve](https://github.com/google/deps.dev) | `e80e665` -> `16da96f` | [![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fresolve/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fresolve/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fresolve/v0.0.0-20240730004939-e80e6658c33b/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fresolve/v0.0.0-20240730004939-e80e6658c33b/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | | [deps.dev/util/semver](https://github.com/google/deps.dev) | `e80e665` -> `16da96f` | [![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fsemver/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fsemver/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fsemver/v0.0.0-20240730004939-e80e6658c33b/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fsemver/v0.0.0-20240730004939-e80e6658c33b/v0.0.0-20240807013505-16da96fe8b66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | | [github.com/charmbracelet/bubbles](https://github.com/charmbracelet/bubbles) | `v0.18.0` -> `v0.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2fbubbles/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcharmbracelet%2fbubbles/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcharmbracelet%2fbubbles/v0.18.0/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2fbubbles/v0.18.0/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea) | `v0.26.6` -> `v0.27.1` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2fbubbletea/v0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcharmbracelet%2fbubbletea/v0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcharmbracelet%2fbubbletea/v0.26.6/v0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2fbubbletea/v0.26.6/v0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss) | `v0.12.1` -> `v0.13.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2flipgloss/v0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcharmbracelet%2flipgloss/v0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcharmbracelet%2flipgloss/v0.12.1/v0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2flipgloss/v0.12.1/v0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) | `v0.20.1` -> `v0.20.2` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.1/v0.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.1/v0.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/ianlancetaylor/demangle](https://github.com/ianlancetaylor/demangle) | `bd984b5` -> `81f5be9` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fianlancetaylor%2fdemangle/v0.0.0-20240805132620-81f5be970eca?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fianlancetaylor%2fdemangle/v0.0.0-20240805132620-81f5be970eca?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fianlancetaylor%2fdemangle/v0.0.0-20240312041847-bd984b5ce465/v0.0.0-20240805132620-81f5be970eca?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fianlancetaylor%2fdemangle/v0.0.0-20240312041847-bd984b5ce465/v0.0.0-20240805132620-81f5be970eca?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | | [github.com/urfave/cli/v2](https://github.com/urfave/cli) | `v2.27.3` -> `v2.27.4` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2furfave%2fcli%2fv2/v2.27.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2furfave%2fcli%2fv2/v2.27.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2furfave%2fcli%2fv2/v2.27.3/v2.27.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2furfave%2fcli%2fv2/v2.27.3/v2.27.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | golang.org/x/exp | `8a7402a` -> `778ce7b` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fexp/v0.0.0-20240822175202-778ce7bba035?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fexp/v0.0.0-20240822175202-778ce7bba035?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fexp/v0.0.0-20240719175910-8a7402abbf56/v0.0.0-20240822175202-778ce7bba035?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fexp/v0.0.0-20240719175910-8a7402abbf56/v0.0.0-20240822175202-778ce7bba035?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | | golang.org/x/term | `v0.22.0` -> `v0.23.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fterm/v0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fterm/v0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fterm/v0.22.0/v0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fterm/v0.22.0/v0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | --- ### Release Notes <details> <summary>charmbracelet/bubbles (github.com/charmbracelet/bubbles)</summary> ### [`v0.19.0`](https://github.com/charmbracelet/bubbles/releases/tag/v0.19.0) [Compare Source](https://github.com/charmbracelet/bubbles/compare/v0.18.0...v0.19.0) ### Bugs? Squashed (along with a few nice lil’ features). Community-Driven Development?! Yep, the majority of the changes in this release were done by the community. *Thank you* all for your contributions that made this release possible. #### Progress: custom chars You can now customize the filled and empty characters of the progress bar. ```go p := progress.New(progress.WithFillCharacters('>', '.')) ``` ![progress bar example](https://github.com/user-attachments/assets/ee1a1351-ebee-4f39-8543-af464e60b099) #### Table improvements ##### Help is on the way Table now includes a short and full help view so it's easier than ever to tell your users how to interact with the table. ```go // Render a table with its help. t := table.New() view := t.View() + "\n" + t.HelpView() ``` <img src="https://github.com/user-attachments/assets/22195043-5578-4201-982d-a8f9b7eefc5f" width="600"> ##### Accessing columns You can also now get the table's columns (this already existed for rows). ```go package table // Columns returns the current columns. func (m Model) Columns() []Column ``` #### List: page navigation is fixed! Previously, `list.NextPage()` and `list.PrevPage()` didn't work because the methods did not have pointer receivers. We've fixed this…by making them pointer receivers!⚠️ Note that this is a minor API change and you *might* need to update your app to pass a pointer receiver to your model rather than a copy. Details in [#​458](https://github.com/charmbracelet/bubbles/issues/458). ```go package progress // NextPage moves to the next page, if available. func (m *Model) NextPage() // PrevPage moves to the previous page, if available. func (m *Model) PrevPage() ``` *** #### What’s Changed ##### Changed - Textarea: Improve setting width by [@​mikelorant](https://github.com/mikelorant) in [https://github.com/charmbracelet/bubbles/pull/496](https://github.com/charmbracelet/bubbles/pull/496) - Textinput: fix out of range panic if no matched suggestions by [@​rdnt](https://github.com/rdnt) in [https://github.com/charmbracelet/bubbles/pull/473](https://github.com/charmbracelet/bubbles/pull/473) - List: Fix no-op list pagination functions by [@​nekopy](https://github.com/nekopy) in [https://github.com/charmbracelet/bubbles/pull/458](https://github.com/charmbracelet/bubbles/pull/458) - Table: Clarify position constant in JoinHorizontal by [@​aditipatelpro](https://github.com/aditipatelpro) in [https://github.com/charmbracelet/bubbles/pull/577](https://github.com/charmbracelet/bubbles/pull/577) - Progress: make full/empty fill characters configurable by [@​rwinkhart](https://github.com/rwinkhart) in [https://github.com/charmbracelet/bubbles/pull/409](https://github.com/charmbracelet/bubbles/pull/409) - Dependencies: switch to x/ansi for text manipulation by [@​aymanbagabas](https://github.com/aymanbagabas) in [https://github.com/charmbracelet/bubbles/pull/505](https://github.com/charmbracelet/bubbles/pull/505) ##### Added - Textarea: add help to textarea key bindings by [@​TravisYeah](https://github.com/TravisYeah) in [https://github.com/charmbracelet/bubbles/pull/418](https://github.com/charmbracelet/bubbles/pull/418) - Textarea: Add multiline placeholder by [@​mikelorant](https://github.com/mikelorant) in [https://github.com/charmbracelet/bubbles/pull/302](https://github.com/charmbracelet/bubbles/pull/302) - Table: Add column return function by [@​abeleinin](https://github.com/abeleinin) in [https://github.com/charmbracelet/bubbles/pull/369](https://github.com/charmbracelet/bubbles/pull/369) - Table: Implement help.Keymap interface and add quit mapping by [@​prgres](https://github.com/prgres) in [https://github.com/charmbracelet/bubbles/pull/440](https://github.com/charmbracelet/bubbles/pull/440) - Ctrl+Left/Right for WordForward/Backward by [@​maaslalani](https://github.com/maaslalani) in [https://github.com/charmbracelet/bubbles/pull/387](https://github.com/charmbracelet/bubbles/pull/387) - Use goreleaser for releases by [@​aymanbagabas](https://github.com/aymanbagabas) in [https://github.com/charmbracelet/bubbles/pull/526](https://github.com/charmbracelet/bubbles/pull/526) ##### Fixed - Table: Render Row Tests by [@​maaslalani](https://github.com/maaslalani) in [https://github.com/charmbracelet/bubbles/pull/487](https://github.com/charmbracelet/bubbles/pull/487) - Table: Only render columns with a positive width by [@​fabio42](https://github.com/fabio42) in [https://github.com/charmbracelet/bubbles/pull/465](https://github.com/charmbracelet/bubbles/pull/465) - Table: Fix inheritence of SelectedStyle in StyleFunc by [@​gabrielfu](https://github.com/gabrielfu) in [https://github.com/charmbracelet/bubbles/pull/539](https://github.com/charmbracelet/bubbles/pull/539) - Table: Don't include header height in the total table size by [@​prgres](https://github.com/prgres) in [https://github.com/charmbracelet/bubbles/pull/434](https://github.com/charmbracelet/bubbles/pull/434) - Table: Fix premature viewport scroll by [@​dzeleniak](https://github.com/dzeleniak) in [https://github.com/charmbracelet/bubbles/pull/429](https://github.com/charmbracelet/bubbles/pull/429) - Textarea: Fix end of buffer character by [@​mikelorant](https://github.com/mikelorant) in [https://github.com/charmbracelet/bubbles/pull/491](https://github.com/charmbracelet/bubbles/pull/491) - Textarea: Set textarea default EndOfBufferCharacter to ' ' by [@​blvrd](https://github.com/blvrd) in [https://github.com/charmbracelet/bubbles/pull/510](https://github.com/charmbracelet/bubbles/pull/510) - Textarea: End of Buffer alignment by [@​maaslalani](https://github.com/maaslalani) in [https://github.com/charmbracelet/bubbles/pull/486](https://github.com/charmbracelet/bubbles/pull/486) - Textinput: don't block input on validation by [@​GabrielNagy](https://github.com/GabrielNagy) in [https://github.com/charmbracelet/bubbles/pull/185](https://github.com/charmbracelet/bubbles/pull/185) - Viewport: Fix division by zero in scrollpercentage by [@​zMoooooritz](https://github.com/zMoooooritz) in [https://github.com/charmbracelet/bubbles/pull/494](https://github.com/charmbracelet/bubbles/pull/494) - Help: Fix centering by [@​gabe565](https://github.com/gabe565) in [https://github.com/charmbracelet/bubbles/pull/516](https://github.com/charmbracelet/bubbles/pull/516) - Progress: Stop spring defaults from overriding WithStringOptions by [@​nervo](https://github.com/nervo) in [https://github.com/charmbracelet/bubbles/pull/540](https://github.com/charmbracelet/bubbles/pull/540) - Cursor: Make SetMode method in cursor library handle invalid mode values correctly by [@​anirudhaCodes](https://github.com/anirudhaCodes) in [https://github.com/charmbracelet/bubbles/pull/477](https://github.com/charmbracelet/bubbles/pull/477) ##### Test coverage ✅ - Add tests for textarea view by [@​mikelorant](https://github.com/mikelorant) in [https://github.com/charmbracelet/bubbles/pull/485](https://github.com/charmbracelet/bubbles/pull/485) - Add tests for paginator by [@​anirudhaCodes](https://github.com/anirudhaCodes) in [https://github.com/charmbracelet/bubbles/pull/480](https://github.com/charmbracelet/bubbles/pull/480) - Add tests for textInput Tests by [@​KevM](https://github.com/KevM) in [https://github.com/charmbracelet/bubbles/pull/500](https://github.com/charmbracelet/bubbles/pull/500) - Improve textarea tests by [@​mikelorant](https://github.com/mikelorant) in [https://github.com/charmbracelet/bubbles/pull/490](https://github.com/charmbracelet/bubbles/pull/490) #### New Contributors - [@​rdnt](https://github.com/rdnt) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/473](https://github.com/charmbracelet/bubbles/pull/473) - [@​rwinkhart](https://github.com/rwinkhart) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/409](https://github.com/charmbracelet/bubbles/pull/409) - [@​mikelorant](https://github.com/mikelorant) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/485](https://github.com/charmbracelet/bubbles/pull/485) - [@​anirudhaCodes](https://github.com/anirudhaCodes) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/480](https://github.com/charmbracelet/bubbles/pull/480) - [@​nekopy](https://github.com/nekopy) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/458](https://github.com/charmbracelet/bubbles/pull/458) - [@​TravisYeah](https://github.com/TravisYeah) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/418](https://github.com/charmbracelet/bubbles/pull/418) - [@​abeleinin](https://github.com/abeleinin) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/369](https://github.com/charmbracelet/bubbles/pull/369) - [@​fabio42](https://github.com/fabio42) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/465](https://github.com/charmbracelet/bubbles/pull/465) - [@​prgres](https://github.com/prgres) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/440](https://github.com/charmbracelet/bubbles/pull/440) - [@​zMoooooritz](https://github.com/zMoooooritz) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/494](https://github.com/charmbracelet/bubbles/pull/494) - [@​dzeleniak](https://github.com/dzeleniak) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/429](https://github.com/charmbracelet/bubbles/pull/429) - [@​KevM](https://github.com/KevM) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/500](https://github.com/charmbracelet/bubbles/pull/500) - [@​gabe565](https://github.com/gabe565) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/516](https://github.com/charmbracelet/bubbles/pull/516) - [@​blvrd](https://github.com/blvrd) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/510](https://github.com/charmbracelet/bubbles/pull/510) - [@​nervo](https://github.com/nervo) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/540](https://github.com/charmbracelet/bubbles/pull/540) - [@​gabrielfu](https://github.com/gabrielfu) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/539](https://github.com/charmbracelet/bubbles/pull/539) - [@​aditipatelpro](https://github.com/aditipatelpro) made their first contribution in [https://github.com/charmbracelet/bubbles/pull/577](https://github.com/charmbracelet/bubbles/pull/577) **Full Changelog**: charmbracelet/bubbles@v0.18.0...v0.19.0 *** <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg?1" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.social/@​charm), or on [Discord](https://charm.sh/chat). </details> <details> <summary>charmbracelet/bubbletea (github.com/charmbracelet/bubbletea)</summary> ### [`v0.27.1`](https://github.com/charmbracelet/bubbletea/releases/tag/v0.27.1) [Compare Source](https://github.com/charmbracelet/bubbletea/compare/v0.27.0...v0.27.1) This is a lil’ workaround for a hang that can occur when starting a program using Lip Gloss. For details see [https://github.com/charmbracelet/bubbletea/pull/1107](https://github.com/charmbracelet/bubbletea/pull/1107). #### Changelog ##### Bug fixes - [`d6458e0`](https://github.com/charmbracelet/bubbletea/commit/d6458e03f27245a597a30234a532ef345af31d36): fix: force query the terminal bg before running any programs ([@​aymanbagabas](https://github.com/aymanbagabas)) *** <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.technology/@​charm), or on [Discord](https://charm.sh/chat). ### [`v0.27.0`](https://github.com/charmbracelet/bubbletea/releases/tag/v0.27.0) [Compare Source](https://github.com/charmbracelet/bubbletea/compare/v0.26.6...v0.27.0) ### 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`](https://pkg.go.dev/github.com/charmbracelet/bubbletea#Suspend) command and handle resumes with the [`tea.ResumeMsg`](https://pkg.go.dev/github.com/charmbracelet/bubbletea#ResumeMsg) message: ```go 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](https://github.com/charmbracelet/bubbletea/blob/d6a19f0eb5a983610bd65a1647f5955abe3ee69e/examples/suspend/main.go) There's also a [`tea.SuspendMsg`](https://pkg.go.dev/github.com/charmbracelet/bubbletea#SuspendMsg) that flows through `Update` on suspension. Special thanks to [@​knz](https://github.com/knz) for prototyping the original implementation of this. #### Setting the environment When Bubble Tea is behind [Wish](https://github.com/charmbracelet/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](https://pkg.go.dev/github.com/charmbracelet/bubbletea#WithEnvironment): ```go 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`](https://pkg.go.dev/github.com/charmbracelet/bubbletea#WindowSize) command. #### Changelog ##### New! - [`7d70838`](https://github.com/charmbracelet/bubbletea/commit/7d708384a105005dfbcec2290bfe4ea1d0e8d9f0): feat: add a cmd to request window size ([#​988](https://github.com/charmbracelet/bubbletea/issues/988)) ([@​aymanbagabas](https://github.com/aymanbagabas)) - [`ea13ffb`](https://github.com/charmbracelet/bubbletea/commit/ea13ffb9a18d0925491eeb580c66b4c6b2f4284f): feat: allow to suspend bubbletea programs ([#​1054](https://github.com/charmbracelet/bubbletea/issues/1054)) ([@​caarlos0](https://github.com/caarlos0)) - [`cae9acd`](https://github.com/charmbracelet/bubbletea/commit/cae9acdf7b37b5723078bae2eaa99ca14c6bcd05): feat: set the program environment variables ([#​1063](https://github.com/charmbracelet/bubbletea/issues/1063)) ([@​aymanbagabas](https://github.com/aymanbagabas)) ##### Fixed - [`7c1bfc0`](https://github.com/charmbracelet/bubbletea/commit/7c1bfc0e55e65bc6d52ec1e126d97ee45ddbeb08): query window-size in a goroutine ([#​1059](https://github.com/charmbracelet/bubbletea/issues/1059)) ([@​aymanbagabas](https://github.com/aymanbagabas)) - [`4497aa9`](https://github.com/charmbracelet/bubbletea/commit/4497aa9eef1ce78044d016782e9301dcb1b7c288): reset cursor position on renderer exit ([#​1058](https://github.com/charmbracelet/bubbletea/issues/1058)) ([@​aymanbagabas](https://github.com/aymanbagabas)) - [`d6a19f0`](https://github.com/charmbracelet/bubbletea/commit/d6a19f0eb5a983610bd65a1647f5955abe3ee69e): wrap `ErrProgramKilled` error ([@​aymanbagabas](https://github.com/aymanbagabas)) - [`4a9620e`](https://github.com/charmbracelet/bubbletea/commit/4a9620e7134978771059ff7b481b6c9a8c611ac3): fix bugs in package-manager example ([@​AkshayKalose](https://github.com/AkshayKalose)) *** <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.technology/@​charm), or on [Discord](https://charm.sh/chat). </details> <details> <summary>charmbracelet/lipgloss (github.com/charmbracelet/lipgloss)</summary> ### [`v0.13.0`](https://github.com/charmbracelet/lipgloss/releases/tag/v0.13.0) [Compare Source](https://github.com/charmbracelet/lipgloss/compare/v0.12.1...v0.13.0) ### Woodn’t you know, Lip Gloss has trees! Lip Gloss now ships with a tree rendering sub-package! ```go import "github.com/charmbracelet/lipgloss/tree" ``` Define a new tree. ```go t := tree.Root("."). Child("A", "B", "C") ``` Print the tree. ```go fmt.Println(t) // . // ├── A // ├── B // └── C ``` Trees have the ability to nest. ```go t := tree.Root("."). Child("Item 1"). Child( tree.Root("Item 2"). Child("Item 2.1"). Child("Item 2.2"). Child("Item 2.3"), ). Child( tree.Root("Item 3"). Child("Item 3.1"). Child("Item 3.2"), ) ``` Print the tree. ```go fmt.Println(t) ``` <p align="center"> <img width="400" alt="Tree Example (simple)" src="https://stuff.charm.sh/lipgloss/tree/simple.png"> </p> Trees can be customized via their enumeration function as well as using `lipgloss.Style`s. ```go enumeratorStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("99")).MarginRight(1) itemStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("212")).MarginRight(1) t := tree.Root("Makeup"). Child( "Glossier", "Claire’s Boutique", "Nyx", "Mac", "Milk", ). Enumerator(tree.RoundedEnumerator). EnumeratorStyle(enumeratorStyle). ItemStyle(itemStyle). RootStyle(lipgloss.NewStyle().Foreground(lipgloss.Color("#​04B575"))) ``` Print the tree. <p align="center"> <img width="600" alt="Tree Example (makeup)" src="https://stuff.charm.sh/lipgloss/tree/makeup.png"> </p> The predefined enumerators for trees are `DefaultEnumerator` and `RoundedEnumerator`. If you need, you can also build trees incrementally: ```go t := tree.New() for i := 0; i < repeat; i++ { t.Child("Lip Gloss") } ``` #### There’s more where that came from See [all the tree examples](https://github.com/charmbracelet/lipgloss/tree/master/examples/tree). <p align="center"> <img width="600" src="https://github.com/user-attachments/assets/d6056837-44cf-4fd8-aff5-31873bb70938"> </p> *** #### Changelog ##### New Features - [`0618c73`](https://github.com/charmbracelet/lipgloss/commit/0618c73743d90bb724af8f5a75e4c17bced1ff87): feat(test): add test for `JoinHorizontal` ([#​346](https://github.com/charmbracelet/lipgloss/issues/346)) ([@​aditipatelpro](https://github.com/aditipatelpro)) - [`feb42a9`](https://github.com/charmbracelet/lipgloss/commit/feb42a9be4a0577fd10b8e9ba80541ca759fb60c): feat: move tree to root ([#​342](https://github.com/charmbracelet/lipgloss/issues/342)) ([@​caarlos0](https://github.com/caarlos0)) ##### Bug fixes - [`8a0e640`](https://github.com/charmbracelet/lipgloss/commit/8a0e6405b71da72f705fbdb6a98eba0095ddbabe): fix: remove unnecessary if ([@​aymanbagabas](https://github.com/aymanbagabas)) ##### Documentation updates - [`bc0de5c`](https://github.com/charmbracelet/lipgloss/commit/bc0de5ca26463c5d6f6f8abcb28a5d3090019fd8): docs(README): make tree example match output ([@​bashbunni](https://github.com/bashbunni)) - [`bb3e339`](https://github.com/charmbracelet/lipgloss/commit/bb3e3398bb98de0faf2966331c4686b360f7eab4): docs(README): match tree example alignment with list examples ([@​bashbunni](https://github.com/bashbunni)) - [`185fde3`](https://github.com/charmbracelet/lipgloss/commit/185fde35318b966319d590e960e3382233f72c6f): docs(README): update tree images ([@​bashbunni](https://github.com/bashbunni)) - [`ed7f56e`](https://github.com/charmbracelet/lipgloss/commit/ed7f56e2a7e910c5a63983683c2d7e387d09d024): docs: fix `CompleteColor` example ([#​345](https://github.com/charmbracelet/lipgloss/issues/345)) ([@​bashbunni](https://github.com/bashbunni)) - [`cf0a7c6`](https://github.com/charmbracelet/lipgloss/commit/cf0a7c615f558ed2a522babdcf6288f46667a5bb): docs: fix tree screenshot ([@​caarlos0](https://github.com/caarlos0)) *** <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.technology/@​charm), or on [Discord](https://charm.sh/chat). </details> <details> <summary>google/go-containerregistry (github.com/google/go-containerregistry)</summary> ### [`v0.20.2`](https://github.com/google/go-containerregistry/releases/tag/v0.20.2) [Compare Source](https://github.com/google/go-containerregistry/compare/v0.20.1...v0.20.2) #### What's Changed - deps: bump docker dep by [@​imjasonh](https://github.com/imjasonh) in [https://github.com/google/go-containerregistry/pull/1991](https://github.com/google/go-containerregistry/pull/1991) **Full Changelog**: google/go-containerregistry@v0.20.1...v0.20.2 </details> <details> <summary>urfave/cli (github.com/urfave/cli/v2)</summary> ### [`v2.27.4`](https://github.com/urfave/cli/releases/tag/v2.27.4) [Compare Source](https://github.com/urfave/cli/compare/v2.27.3...v2.27.4) #### What's Changed - Fix:(issue\_1962) Fix tests failing on 32 bit architectures by [@​dearchap](https://github.com/dearchap) in [https://github.com/urfave/cli/pull/1963](https://github.com/urfave/cli/pull/1963) **Full Changelog**: urfave/cli@v2.27.3...v2.27.4 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 6am on monday" in timezone Australia/Sydney, 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/google/osv-scanner). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
- Loading branch information