bubbletea changelogs since bubbletea | diffwithgpt
AI Summary
The commit updates the dependency 'github.com/charmbracelet/x/ansi' from version 0.8.0 to 0.9.2. This is a minor version update, likely introducing new features or bug fixes related to ANSI escape code handling.
Commit Log
chore(deps): bump github.com/charmbracelet/x/ansi from 0.8.0 to 0.9.2 (#1409) Bumps [github.com/charmbracelet/x/ansi](https://github.com/charmbracelet/x) from 0.8.0 to 0.9.2. - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.8.0...ansi/v0.9.2) --- updated-dependencies: - dependency-name: github.com/charmbracelet/x/ansi dependency-version: 0.9.2 dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The code adds support for recognizing function keys (F1 to F20) on Windows by mapping their virtual key codes to corresponding KeyType constants. This change was necessary to address an issue where function keys were previously ignored on Windows after switching to the Windows API.
Commit Log
fix(key): windows: recognize function keys on Windows (#1405) We ignore function keys on Windows. This was introduced after we switched to the Windows API. This commit simply adds function keys from F1 to F20. Fixes: https://github.com/charmbracelet/bubbletea/issues/1404
AI Summary
The commit changes the prefix for dependency updates from 'feat' to 'chore' in the Dependabot configuration. This likely reflects a shift in how dependency updates are categorized, possibly to indicate they are not feature-related.
Commit Log
ci: sync dependabot config (#1403)
AI Summary
The commit updates dependencies in the examples directory, specifically bumping 'github.com/charmbracelet/glamour' from version 0.9.1 to 0.10.0. It also updates 'github.com/charmbracelet/lipgloss' and other indirect dependencies to newer versions, which may include bug fixes, performance improvements, or new features.
Commit Log
chore(deps): bump github.com/charmbracelet/glamour in /examples (#1397) Bumps [github.com/charmbracelet/glamour](https://github.com/charmbracelet/glamour) from 0.9.1 to 0.10.0. - [Release notes](https://github.com/charmbracelet/glamour/releases) - [Changelog](https://github.com/charmbracelet/glamour/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/glamour/compare/v0.9.1...v0.10.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/glamour dependency-version: 0.10.0 dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit removes exclusions for specific directories in the golangci-lint configuration to apply linters and formatters to those paths. This change ensures that the linters and formatters are applied to third-party, built-in, and example code, improving code consistency and quality.
Commit Log
ci: sync golangci-lint config (#1394)
AI Summary
The commit updates the golang.org/x/net dependency from version 0.36.0 to 0.38.0 in the examples directory. This change is likely to ensure compatibility with newer features or bug fixes in the golang.org/x/net package.
Commit Log
chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 in /examples (#1392) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.36.0 to 0.38.0. - [Commits](https://github.com/golang/net/compare/v0.36.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.38.0 dependency-type: indirect ...
AI Summary
The commit updates the dependency 'github.com/charmbracelet/bubbles' from version 0.20.0 to 0.21.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump github.com/charmbracelet/bubbles in /examples (#1389) Bumps [github.com/charmbracelet/bubbles](https://github.com/charmbracelet/bubbles) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/charmbracelet/bubbles/releases) - [Changelog](https://github.com/charmbracelet/bubbles/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/bubbles/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/bubbles dependency-version: 0.21.0 dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The code adds the 'gosec' linter to suppress security-related warnings in error-checking annotations. This change is likely to address a linting issue related to security best practices in error handling.
Commit Log
ci: fix lint issues
AI Summary
The commit updates the Go version in the examples directory to 1.23.0 and upgrades dependencies to newer versions. It also updates the version of the `github.com/charmbracelet/x/exp/golden` package and other indirect dependencies to their latest versions.
Commit Log
chore: run `go mod tidy` on `examples/`
AI Summary
The commit updates the golang.org/x/sys dependency from version 0.31.0 to 0.32.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 (#1382) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.31.0 to 0.32.0. - [Commits](https://github.com/golang/sys/compare/v0.31.0...v0.32.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.32.0 dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the golang.org/x/sync dependency from version 0.12.0 to 0.13.0. This is a minor version update, which may include bug fixes, performance improvements, or new features.
Commit Log
chore(deps): bump golang.org/x/sync from 0.12.0 to 0.13.0 (#1381) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.12.0 to 0.13.0. - [Commits](https://github.com/golang/sync/compare/v0.12.0...v0.13.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-version: 0.13.0 dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the golangci-lint configuration to version 2, adjusting issue inclusion, exclusions, and formatter settings. It removes specific issue codes and disables max issue limits, while adding exclusions for certain paths and formatters.
Commit Log
ci: sync golangci-lint config (#1379)
AI Summary
The code adds a comment explaining that it's safe to call shutdown in the recoverFromPanic function because Run() is no longer active. This change improves documentation by clarifying the behavior and intent of the shutdown call during panic recovery.
Commit Log
chore: document panic behavior
AI Summary
The code change ensures that only external context cancellation is reported as a context error, while internal context cancellation is treated as a generic program kill error. This change improves clarity for users by distinguishing between external and internal context cancellation, making it easier to handle external cancellation signals properly.
Commit Log
fix: report only external ctx cancel as ctx error
AI Summary
The code adds a sync.WaitGroup to handle multiple concurrent calls to p.Wait() in test functions, ensuring all goroutines complete before proceeding. This change was likely made to address race conditions or ensure proper synchronization when multiple goroutines call p.Wait() in parallel.
Commit Log
fix(tests): account for multiple p.Wait()
AI Summary
The code fixes a race condition and false nil error return in the panic handling logic of the bubbletea library to ensure proper error propagation and recovery. It introduces a new error type, `ErrProgramPanic`, and updates the `Run` method to handle panic recovery more robustly, including error wrapping and propagation.
Commit Log
fix(panics): fix race condition and false nil error return
AI Summary
The code change updates the Kill method to use p.cancel() instead of p.shutdown(true), likely to address race conditions during program termination. The comment in Wait() now warns against using it for signaling shutdown, emphasizing the use of Quit() or Kill() to avoid race conditions.
Commit Log
fix: resolve race conditions caused by p.Kill()
AI Summary
The code ensures that the `finished` channel is closed properly when `Run()` completes, preventing potential deadlocks when `Kill()` is called. This change improves resource management and ensures that `Wait()` does not block indefinitely when `Kill()` is invoked.
Commit Log
fix: release p.Wait() on p.Kill() to prevent external deadlocks
AI Summary
The commit updates the image URLs in the README.md to use a new hosting location (charm.sh) instead of GitHub's user attachments. This change likely aims to fix caching issues with the previous image URLs, ensuring the header image is displayed correctly.
Commit Log
docs(readme): fix header image mis-caching
AI Summary
The code change adds a context cancellation check in the event loop to prevent deadlocks when a context is cancelled during message processing. This ensures that if the context is cancelled, the event loop exits gracefully without blocking on message processing.
Commit Log
fix: prevent deadlock on ctx cancel during msg processing
AI Summary
The commit updates the dependency 'github.com/charmbracelet/glamour' from version 0.9.0 to 0.9.1 in the examples directory. This is a semver-patch update, likely to include bug fixes or minor improvements without breaking existing functionality.
Commit Log
chore(deps): bump github.com/charmbracelet/glamour in /examples (#1367) Bumps [github.com/charmbracelet/glamour](https://github.com/charmbracelet/glamour) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/charmbracelet/glamour/releases) - [Changelog](https://github.com/charmbracelet/glamour/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/glamour/compare/v0.9.0...v0.9.1) --- updated-dependencies: - dependency-name: github.com/charmbracelet/glamour dependency-type: direct:production update-type: version-update:semver-patch ...
AI Summary
The commit removes the `lint:soft` task from the Taskfile.yaml as it is no longer valid or supported. This change simplifies the task structure by eliminating an unused or deprecated task.
Commit Log
chore(taskfile): remove `lint:soft` which is not a thing anymore
AI Summary
The code changes fix linting issues in Windows-specific files by adding nolint comments and modifying error handling to provide more informative error messages. The changes ensure that the code adheres to linting rules while maintaining compatibility with Windows-specific functionality.
Commit Log
ci: fix linting on windows-only files (#1361)
AI Summary
The commit updates the Go version in go.mod from 1.18 to 1.23.0 and adds a toolchain version go1.23.7. This change ensures compatibility with newer Go features and tooling, while also specifying the exact toolchain version for consistency.
Commit Log
chore(go.mod): run `go mod tidy` and update go to 1.23
AI Summary
The commit adjusts the header art in the README.md file by updating the source image URL for dark mode. The image URL for light mode remains unchanged, suggesting a focus on improving dark mode visuals.
Commit Log
docs(readme): header art adjustments
AI Summary
The commit updates the README.md file to include a more responsive header art using the <picture> element with dark and light mode support. This change improves accessibility and visual consistency by adapting the header image based on the user's preferred color scheme.
Commit Log
docs(readme): update header art
AI Summary
The commit updates the dependency 'github.com/charmbracelet/lipgloss' from version 1.0.0 to 1.1.0, which is a minor version update. It also updates related indirect dependencies such as 'github.com/muesli/termenv' and adds new indirect dependencies like 'github.com/charmbracelet/colorprofile' and 'github.com/charmbracelet/x/cellbuf'.
Commit Log
chore(deps): bump github.com/charmbracelet/lipgloss from 1.0.0 to 1.1.0 (#1358) Bumps [github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss) from 1.0.0 to 1.1.0. - [Release notes](https://github.com/charmbracelet/lipgloss/releases) - [Changelog](https://github.com/charmbracelet/lipgloss/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/lipgloss/compare/v1.0.0...v1.1.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/lipgloss dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates dependencies in the examples directory, including bumping glamour from 0.8.0 to 0.9.0 and other related packages. This change is likely to incorporate new features, bug fixes, or improvements from the updated versions of the dependencies.
Commit Log
chore(deps): bump github.com/charmbracelet/glamour in /examples (#1356) Bumps [github.com/charmbracelet/glamour](https://github.com/charmbracelet/glamour) from 0.8.0 to 0.9.0. - [Release notes](https://github.com/charmbracelet/glamour/releases) - [Changelog](https://github.com/charmbracelet/glamour/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/glamour/compare/v0.8.0...v0.9.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/glamour dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the golangci-lint configuration to align with the meta repository, enabling additional linters and disabling others. The changes primarily affect the linter configuration, ensuring consistency across the project and possibly improving code quality by enforcing specific coding standards.
Commit Log
ci: sync golangci-lint config (#1354) This is an automated pull request to sync the golangci-lint config with the meta repository.
AI Summary
The commit updates the golang.org/x/net dependency from version 0.33.0 to 0.36.0 in the examples directory, along with other related dependencies. This change is likely to ensure compatibility with newer features or bug fixes in the golang.org/x/net package and its related modules.
Commit Log
chore(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 in /examples (#1351) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0. - [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ...
AI Summary
The commit updates the golang.org/x/sys dependency from version 0.30.0 to 0.31.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump golang.org/x/sys from 0.30.0 to 0.31.0 (#1349) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.30.0 to 0.31.0. - [Commits](https://github.com/golang/sys/compare/v0.30.0...v0.31.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the golang.org/x/sync dependency from version 0.11.0 to 0.12.0. This is a minor version update, which may include bug fixes, performance improvements, or new features.
Commit Log
chore(deps): bump golang.org/x/sync from 0.11.0 to 0.12.0 (#1348) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.11.0 to 0.12.0. - [Commits](https://github.com/golang/sync/compare/v0.11.0...v0.12.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The code diff primarily addresses linting issues by updating comments and formatting to align with style guidelines, such as replacing 'gomnd' with 'mnd' in nolint comments. The changes are mostly cosmetic and do not alter functionality, focusing on improving code readability and compliance with linter rules.
Commit Log
ci(lint): fix all lint issues on `main` (#1342)
AI Summary
The code enables mouse input mode on Windows only when explicitly requested by the user, preventing unintended mouse event handling. This change addresses an issue where mouse events were always enabled, breaking applications that do not expect them and disrupting selection functionality.
Commit Log
fix: windows: enable mouse mode on demand (#1340) Since we added native Windows API input events support, we always enable mouse events even if the user doesn't want them. This is a problem because it breaks applications that don't expect mouse events and selection stops working without any modifier key. Fixes: https://github.com/charmbracelet/bubbletea/issues/1313
AI Summary
The commit changes the CI workflow to use Codecov instead of Coveralls for coverage reporting. It removes the goveralls dependency and replaces it with the codecov-action, updating the coverage file format and token usage.
Commit Log
feat(ci): move from goveralls to codecov (#1332) This commit moves the coverage reporting from goveralls to codecov and fixes broken coverage CI.
AI Summary
The commit updates the Dependabot configuration to include a personal access token for authentication. This change ensures Dependabot can securely interact with GitHub to manage dependencies.
Commit Log
ci: sync dependabot config (#1329)
AI Summary
The commit updates the Dependabot configuration to change update intervals and add new ecosystems like Docker and GitHub Actions. It also introduces a new GitHub Actions workflow to synchronize Dependabot configurations periodically.
Commit Log
ci: sync dependabot config (#1328)
AI Summary
The code reverts the deprecation of several StartupOptions in favor of Cmds, restoring the deprecated options and their associated comments. This change likely aims to maintain backward compatibility with existing code that relied on the deprecated StartupOptions.
Commit Log
chore: revert "chore: deprecate some StartupOptions in favor of Cmds (#1307)" This reverts commit 75d1b4b8cf8af027c68a171fc386aca90a02f2a6.
AI Summary
The code adds warnings about using certain commands in Init functions due to asynchronous behavior. It suggests using specific ProgramOptions instead of the commands for initialization.
Commit Log
chore: revert "Remove irrelevant option comments" This reverts commit 439398b1dd1791a253723819baf8f184a7dcc385.
AI Summary
The code adds error handling for Windows CancelIo errors by checking if the reader is canceled before reading input. It introduces a new method 'isCanceled' to track cancellation state and updates the 'readConInputs' function to return a cancellation error when needed.
Commit Log
fix: windows: handle cancel io error This gracefully handles windows.CancelIo errors. Fixes: c8d6005325d3 (fix: use CancelIoEx to cancel Windows conInputReader across threads (#1305)) Fixes: https://github.com/charmbracelet/bubbletea/issues/1324
AI Summary
The code change replaces the use of CUD1 (`\x1b[B`) with a newline character to move the cursor down in the renderer, ensuring terminal scrolling works correctly when the cursor is at the bottom. This change addresses an issue where CUD1 did not scroll the terminal properly, potentially leading to incorrect cursor positioning and display issues.
Commit Log
fix: renderer: use newline instead of cud1 to move cursor down (#1323) * fix: renderer: use newline instead of cud1 to move cursor down Using cud1 (`\x1b[B`) won't scroll the terminal if the cursor is already at the bottom of the screen. Instead, use a newline character to move the cursor down and scroll the terminal if necessary. Fixes: https://github.com/charmbracelet/bubbletea/issues/1322 * chore(examples): update tesdata
AI Summary
The commit updates the version of golang.org/x/sync and golang.org/x/sys in the examples' go.mod and go.sum files. This change likely ensures compatibility with newer versions of these dependencies in the example projects.
Commit Log
chore(examples): update go.mod and go.sum
AI Summary
The code removes outdated comment warnings about using certain commands in the Init function, suggesting users should use the appropriate ProgramOptions instead. These comments were likely left as reminders or documentation for developers about best practices when initializing programs with specific features.
Commit Log
Remove irrelevant option comments
AI Summary
The code change modifies the keyType function to handle AltGr key combinations on Windows, treating them as rune keys in bubbletea. It introduces a switch statement to detect AltGr and adjusts key mappings accordingly, improving compatibility with certain keyboard layouts.
Commit Log
fix: windows: AltGr maps to LEFT_CTRL+RIGHT_ALT (#1162) On Windows, some keyboard layouts have an AltGr button that's similar to the Mac options button and can be used to send characters. This PR respects the AltGr button and treat its characters as bubbletea key runes. Fixes: https://github.com/charmbracelet/bubbletea/issues/1126
AI Summary
The commit updates the golang.org/x/sync dependency from version 0.10.0 to 0.11.0. This is a minor version update, which may include bug fixes, performance improvements, or new features.
Commit Log
chore(deps): bump golang.org/x/sync from 0.10.0 to 0.11.0 (#1312) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.10.0 to 0.11.0. - [Commits](https://github.com/golang/sync/compare/v0.10.0...v0.11.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the golang.org/x/sys dependency from version 0.29.0 to 0.30.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump golang.org/x/sys from 0.29.0 to 0.30.0 (#1311) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.29.0 to 0.30.0. - [Commits](https://github.com/golang/sys/compare/v0.29.0...v0.30.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The code deprecates several StartupOptions in favor of using Cmds in the Model.Init method, encouraging a more modern and flexible approach. Multiple deprecated options are marked for removal in future releases, with warnings about performance issues or outdated functionality.
Commit Log
chore: deprecate some StartupOptions in favor of Cmds (#1307)
AI Summary
The commit updates the version of the 'ansi' dependency from v0.6.0 to v0.8.0 in the examples/go.mod file. This change is likely to ensure compatibility with newer features or bug fixes in the 'ansi' package.
Commit Log
chore: examples: go mod tidy
AI Summary
The code change replaces `CancelIo` with `CancelIoEx` to allow cancellation of I/O operations across threads on Windows. This addresses a potential issue where `CancelIo` may not work correctly if called from a different thread than the one handling the I/O.
Commit Log
fix: use CancelIoEx to cancel Windows conInputReader across threads (#1305) The Windows conInputReader uses `windows.CancelIo` to close the read loop's input handle. Windows `CancelIo` docs indicate that call is only appropriate for I/O operations on the same thread as the `CancelIo` call. Since the read loop is in its own goroutine, it's likely to be on another thread from the bubbletea Program. This change adds a call to Windows `CancelIoEx`, which will cancel I/O operations across threads. Fixes #1167
AI Summary
The commit updates the dependency 'github.com/charmbracelet/x/ansi' from version 0.7.0 to 0.8.0, which is a minor version update. It also updates 'github.com/mattn/go-runewidth' from 0.0.15 to 0.0.16 as an indirect dependency.
Commit Log
chore(deps): bump github.com/charmbracelet/x/ansi from 0.7.0 to 0.8.0 (#1299) Bumps [github.com/charmbracelet/x/ansi](https://github.com/charmbracelet/x) from 0.7.0 to 0.8.0. - [Release notes](https://github.com/charmbracelet/x/releases) - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.7.0...ansi/v0.8.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/x/ansi dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates references in the README.md file from 'master' to 'main' branch for several GitHub URLs. This change aligns the documentation with the project's default branch name, which has been updated from 'master' to 'main'.
Commit Log
Update README.md references to main branch
AI Summary
The commit updates the dependency github.com/charmbracelet/x/ansi from version 0.6.0 to 0.7.0. This is a minor version update, which may include new features, bug fixes, or breaking changes.
Commit Log
chore(deps): bump github.com/charmbracelet/x/ansi from 0.6.0 to 0.7.0 (#1290) Bumps [github.com/charmbracelet/x/ansi](https://github.com/charmbracelet/x) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/charmbracelet/x/releases) - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.6.0...ansi/v0.7.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/x/ansi dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the version of golang.org/x/net from 0.27.0 to 0.33.0 in the examples directory, along with related dependencies. This change is likely to ensure compatibility with newer features or bug fixes in the golang.org/x/net package and its related dependencies.
Commit Log
chore(deps): bump golang.org/x/net from 0.27.0 to 0.33.0 in /examples (#1289) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.27.0 to 0.33.0. - [Commits](https://github.com/golang/net/compare/v0.27.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ...
AI Summary
The commit updates the golang.org/x/sys dependency from version 0.28.0 to 0.29.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump golang.org/x/sys from 0.28.0 to 0.29.0 (#1281) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.28.0 to 0.29.0. - [Commits](https://github.com/golang/sys/compare/v0.28.0...v0.29.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the README.md file to tidy up and improve clarity by removing redundant text and formatting. It also updates the list of external dependencies and their descriptions for better readability.
Commit Log
docs(readme): additional readme tiyding up
AI Summary
The commit fixes a minor typo in the README.md file by correcting the en dash to a proper en dash in the entry for Cockroach Labs. This change improves the readability and correctness of the documentation without affecting functionality.
Commit Log
docs(readme): fix tiny typo in readme
AI Summary
The commit updates the README.md file to reflect an increase in the number of applications built with Bubble Tea, from 8k to 10,000. It adds new examples of applications using Bubble Tea, such as Signls, Superfile, CockroachDB, and Authd, to showcase its real-world usage.
Commit Log
docs(readme): add more stuff to "In the Wild"
AI Summary
The code adjusts the width used for glamour rendering to account for viewport borders, padding, margins, and a gutter, ensuring proper layout. The change replaces the original width with a calculated width that subtracts specific dimensions, which may improve rendering accuracy in the glamour example.
Commit Log
docs(examples): fix glamour example (#1204)
AI Summary
The commit clarifies that certain imports in the README are placeholders for future tutorial content. It explains that unused imports may cause Go errors and suggests running `go mod tidy` to resolve dependencies.
Commit Log
docs: clarify imports in the readme (#1234)
AI Summary
The code updates the version of the 'ansi' dependency from v0.4.5 to v0.6.0, likely to include bug fixes or new features. Test cases in 'screen_test.go' have been updated to match the expected output format changes introduced by the new version of 'ansi'.
Commit Log
chore: bump ansi to v0.6.0
AI Summary
The code replaces deprecated ANSI escape codes with their updated counterparts to ensure compatibility with modern terminal emulators. This change is likely made to address deprecation warnings and maintain functionality across different terminal environments.
Commit Log
fix: replace deprecated ansi codes
AI Summary
The commit fixes a typo in the examples/README.md file by correcting 'textinput's' to 'textinputs'. This change improves documentation clarity but does not affect code functionality.
Commit Log
docs(readme): fix typos (#1265)
AI Summary
The code updates the chat example to resize the chat interface dynamically based on the window size. It adjusts the viewport dimensions and content rendering to ensure the chat displays correctly when the window is resized.
Commit Log
docs(example): resize chat example based on window (#1262)
AI Summary
The commit updates the version of golang.org/x/sync and golang.org/x/sys in the examples/go.mod file to newer versions. This change is likely part of a 'go mod tidy' operation to ensure dependencies are up-to-date and consistent.
Commit Log
chore(examples): go mod tidy
AI Summary
The commit updates the golang.org/x/sys dependency from version 0.27.0 to 0.28.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 (#1261) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.27.0 to 0.28.0. - [Commits](https://github.com/golang/sys/compare/v0.27.0...v0.28.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the golang.org/x/sync dependency from version 0.9.0 to 0.10.0. This is a minor version update, which may include bug fixes, performance improvements, or new features.
Commit Log
chore(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 (#1260) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.9.0 to 0.10.0. - [Commits](https://github.com/golang/sync/compare/v0.9.0...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The code updates the logic to correctly track the number of lines rendered, including those in the alternate screen buffer. It introduces a new method `lastLinesRendered()` to encapsulate the logic for determining the last rendered line count, improving clarity and maintainability.
Commit Log
fix: getting last rendered line counts including alt screen lines (#1254) * get last rendered line counts including alt screen lines * update the comment
AI Summary
The PR introduces `Interrupt()`, `InterruptMsg`, and `ErrInterrupted` to provide a more granular way to handle SIGINT signals in Bubble Tea, allowing users to distinguish between interrupts and quits. The changes modify the signal handling logic to send `InterruptMsg` on SIGINT instead of `QuitMsg`, and update the `Run` method to return `ErrInterrupted` when an interrupt occurs. The example `suspend` demonstrates how to handle `ErrInterrupted` and exit with status code 130, which is standard for SIGINT.
Commit Log
feat(SIGINT): better handle interrupts (#1255) * feat(SIGINT): better handle interrupts This PR introduces `Interrupt()`, `InterruptMsg{}`, and `ErrInterrupted`. Users can still handle "ctrl+c" as before, but instead of return `tea.Quit`, they can return `tea.Interrupt`. Later on, they can `errors.If(err, tea.ErrInterrupted)` and `os.Exit(130)` if they want to. * chore: fix unrelated typo it was bothering me
AI Summary
The code introduces a separate counter for lines rendered in the alt screen to handle cursor position restoration correctly when exiting alt screen mode. The `altLinesRendered` field tracks lines rendered in alt screen mode, ensuring the cursor position is restored accurately without unnecessary movements.
Commit Log
fix: renderer: keep a separate count of lines rendered in the alt screen We need to keep a separate count of lines rendered in the alt screen and inline mode. This is because when we enter alt screen mode, the cursor position is saved and the alt screen is cleared. Now when we exit the alt screen mode, the cursor position is restored so we don't need to move the cursor to the beginning of the section that we rendered. To fix this, we keep a separate count of lines rendered in the alt screen mode and inline mode. Related: https://github.com/charmbracelet/bubbletea/issues/1013 Fixes: https://github.com/charmbracelet/bubbletea/pull/1241 Fixes: https://github.com/charmbracelet/bubbletea/issues/1248
AI Summary
The code reverts changes related to adjusting cursor position after exiting alt screen mode in bubbletea's standard renderer. The removed code was responsible for tracking lines rendered before entering alt screen and adjusting the cursor position upon exit.
Commit Log
chore: revert "fix: cursor position adjustment after exiting alt screen (#1241)" This reverts commit 4ad07926d7ff00bc21a05b2536d82a7cc629225e.
AI Summary
The code updates the expected output of the TestClearMsg test to include an additional '\x1b[H' escape sequence. This change likely reflects an update in how the terminal is being cleared or rendered, ensuring the test aligns with the current behavior.
Commit Log
chore: update screen test
AI Summary
The code adjusts the cursor position after exiting alt screen mode to ensure it aligns with the previous state. It avoids unnecessary cursor movement when no lines were rendered before entering alt screen mode.
Commit Log
fix: cursor position adjustment after exiting alt screen (#1241) * fix cursor position handling after exiting alt screen mode * avoid moving cursor when lines rendered before alt screen is zero
AI Summary
The commit updates the goreleaser configuration to use version 2. It also adds a new line to the .gitignore file to exclude the 'dist/' directory.
Commit Log
ci: fix goreleaser config (#1238)
AI Summary
The code fixes an issue with incorrect line skipping during renderer flush by tracking previously rendered lines and comparing them to avoid redundant rendering. It also updates dependencies in the examples directory to newer versions of required packages to ensure compatibility and avoid potential issues.
Commit Log
fix: incorrect line skipping in renderer flush (#1233) * fix line skip in flush * mod tidy in examples dir * reset lastRenderedLines on repaint * docs: add note * fix: simplify line skip logic ---------
AI Summary
The commit updates the golang.org/x/sys dependency from version 0.26.0 to 0.27.0. This is a minor version update, likely introducing new features or bug fixes.
Commit Log
chore(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 (#1230) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.26.0 to 0.27.0. - [Commits](https://github.com/golang/sys/compare/v0.26.0...v0.27.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The commit updates the dependency github.com/charmbracelet/x/term from version 0.2.0 to 0.2.1. This is a semver-patch update, likely addressing bug fixes or minor improvements in the term package.
Commit Log
chore(deps): bump github.com/charmbracelet/x/term from 0.2.0 to 0.2.1 (#1229) Bumps [github.com/charmbracelet/x/term](https://github.com/charmbracelet/x) from 0.2.0 to 0.2.1. - [Release notes](https://github.com/charmbracelet/x/releases) - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.2.0...ansi/v0.2.1) --- updated-dependencies: - dependency-name: github.com/charmbracelet/x/term dependency-type: direct:production update-type: version-update:semver-patch ...
AI Summary
The commit updates the golang.org/x/sync dependency from version 0.8.0 to 0.9.0. This is a minor version update, which may include bug fixes, performance improvements, or new features.
Commit Log
chore(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 (#1228) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.8.0 to 0.9.0. - [Commits](https://github.com/golang/sync/compare/v0.8.0...v0.9.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor ...
AI Summary
The code updates test cases for the ClearScreen and EnterAltScreen functionality to ensure they match the expected terminal escape sequences. The changes focus on aligning the expected output strings with the correct ANSI escape codes for screen clearing and alternative screen handling.
Commit Log
fix: screen_test.go: fix test cases for ClearScreen and EnterAltScreen
AI Summary
The code change replaces CursorOrigin with HomeCursorPosition in the clearScreen and enterAltScreen methods to set the cursor position correctly. This likely improves terminal rendering behavior by using the HomeCursorPosition instead of CursorOrigin, which may provide more consistent or expected cursor positioning.
Commit Log
fix: renderer: use HomeCursorPosition instead of CursorOrigin
AI Summary
The code adds a condition to erase the rest of the line only when the line's width is less than the terminal's width. This prevents incorrect behavior when the cursor is at the end of the line and escape sequences affect only the last cell.
Commit Log
fix: renderer: erase the rest of the line when it's shorter than the width When the cursor reaches the end of the line, any escape sequences that follow will only affect the last cell of the line. This is why we only erase the rest of the line when the line is shorter than the width of the terminal. Fixes: https://github.com/charmbracelet/bubbletea/issues/1225 Fixes: 0cef3c7896a8 (feat(render): remove flickering)
AI Summary
The commit updates dependencies in the examples directory to newer versions of bubbletea, ansi, and text. This is a standard dependency update to ensure compatibility with the latest versions of these packages.
Commit Log
chore: go mod tidy
AI Summary
The code updates test cases for cursor movement in the TestClearMsg function to include a WindowSizeMsg with dimensions 80x24. This change ensures the test accurately reflects cursor behavior under different window sizes, improving test reliability.
Commit Log
fix: screen_test.go: fix test cases for cursor movement Add window size msg to the test cases to fix the cursor movement test cases.
AI Summary
The commit updates the dependency github.com/charmbracelet/x/ansi from version 0.4.2 to 0.4.5 to include bug fixes or minor improvements. This change is a semantic version patch update, which typically introduces backward-compatible changes.
Commit Log
chore(deps): bump github.com/charmbracelet/x/ansi from 0.4.2 to 0.4.5 (#1224) Bumps [github.com/charmbracelet/x/ansi](https://github.com/charmbracelet/x) from 0.4.2 to 0.4.5. - [Release notes](https://github.com/charmbracelet/x/releases) - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.4.2...ansi/v0.4.5) --- updated-dependencies: - dependency-name: github.com/charmbracelet/x/ansi dependency-type: direct:production update-type: version-update:semver-patch ...
AI Summary
The commit updates the dependency 'lipgloss' from version 0.13.1 to 1.0.0, which is a major version change. This change likely introduces new features, breaking changes, or API modifications from the previous version.
Commit Log
chore(deps): bump github.com/charmbracelet/lipgloss from 0.13.1 to 1.0.0 (#1219) Bumps [github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss) from 0.13.1 to 1.0.0. - [Release notes](https://github.com/charmbracelet/lipgloss/releases) - [Changelog](https://github.com/charmbracelet/lipgloss/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/lipgloss/compare/v0.13.1...v1.0.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/lipgloss dependency-type: direct:production update-type: version-update:semver-major ...
AI Summary
The commit updates the dependency 'lipgloss' from version 0.13.1 to 1.0.0 in the examples directory. It also upgrades the indirect dependency 'ansi' from version 0.4.0 to 0.4.2 to maintain compatibility with the new lipgloss version.
Commit Log
chore(deps): bump github.com/charmbracelet/lipgloss in /examples (#1220) Bumps [github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss) from 0.13.1 to 1.0.0. - [Release notes](https://github.com/charmbracelet/lipgloss/releases) - [Changelog](https://github.com/charmbracelet/lipgloss/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/lipgloss/compare/v0.13.1...v1.0.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/lipgloss dependency-type: direct:production update-type: version-update:semver-major ...
AI Summary
The code change removes an unnecessary line break in the flush method of the standardRenderer. This likely improves code readability and maintainability by eliminating redundant whitespace.
Commit Log
fix: remove unnecessary line break
AI Summary
The commit updates the golangci-lint configuration to set the issues-exit-code to 0, which means the CI will not fail on linting issues. This change is likely made to allow the CI pipeline to continue even if linting issues are present, possibly for smoother development or during specific stages.
Commit Log
chore(ci): sync golangci-lint config (#1222)
AI Summary
The commit updates the golangci-lint configuration to include the typecheck linter. This change is likely aimed at improving code quality by enforcing type safety checks.
Commit Log
chore(ci): sync golangci-lint config (#1221)
AI Summary
The commit updates the golden output file for the 'simple' example to include additional ANSI escape codes for formatting. This change likely ensures that the expected output matches the actual output when running the example, improving test accuracy.
Commit Log
update golden output
AI Summary
The code change modifies the condition in the flush method to only trigger when more than one line has been rendered. This likely addresses an issue where a single line flush was causing unintended behavior, such as incorrect cursor movement or rendering artifacts.
Commit Log
fix single-line CursorUp(0)
AI Summary
The code change fixes a typo in the comment of the `flush` method in the `standardRenderer` struct. The typo was in the phrase 'begining' which was corrected to 'beginning'.
Commit Log
feat(render): fix typo
AI Summary
The code change updates the `flush` method in `standard_renderer.go` to use `ansi.EraseScreenBelow` instead of `ansi.EraseDisplayBelow`. This likely aims to improve terminal rendering behavior by clearing the screen below the cursor instead of just the display.
Commit Log
fix: update standard_renderer.go
AI Summary
The code change updates the `flush` method to use `ansi.EraseDisplayBelow` instead of `ansi.EraseDisplayRight` to clear the display. This likely aims to modify the behavior of the renderer to clear the display from the current cursor position downward instead of to the right.
Commit Log
feat(render): upd EraseDisplayRight
AI Summary
The code adds functionality to skip rendering lines that are identical between the previous and current frame, improving performance by reducing redundant output. This change introduces a new logic to compare lines and skip rendering when they are the same, which can reduce unnecessary terminal operations.
Commit Log
feat(render): skipping lines from previous frame
AI Summary
The code updates test cases for non-flick rendering and optimizes the flush method in the renderer to handle line clearing more accurately. The changes include adjusting expected output in tests and modifying the flush logic to conditionally clear lines based on the number of lines rendered.
Commit Log
feat(render): update tests for non-flick rendering + optimisations
AI Summary
The code change removes flickering by optimizing the rendering process in the `flush` method of the `standardRenderer`. It introduces cursor movement and line clearing operations to ensure the terminal display is updated correctly without visual artifacts.
Commit Log
feat(render): remove flickering
AI Summary
The commit updates the dependency github.com/charmbracelet/x/ansi from version 0.4.0 to 0.4.2 to include patch-level improvements. This change is likely to fix minor bugs or add small features without altering the public API.
Commit Log
chore(deps): bump github.com/charmbracelet/x/ansi from 0.4.0 to 0.4.2 (#1214) Bumps [github.com/charmbracelet/x/ansi](https://github.com/charmbracelet/x) from 0.4.0 to 0.4.2. - [Release notes](https://github.com/charmbracelet/x/releases) - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.4.0...ansi/v0.4.2) --- updated-dependencies: - dependency-name: github.com/charmbracelet/x/ansi dependency-type: direct:production update-type: version-update:semver-patch ...
AI Summary
The code adds checks to prevent index out-of-range errors when accessing rows and columns in a table, avoiding panics. These changes ensure safe access to array elements by validating indices before use, improving robustness.
Commit Log
docs(examples): fix panics in table-width example
AI Summary
The commit updates the lipgloss dependency from version 0.13.0 to 0.13.1 in the examples directory. This change is likely to ensure compatibility with the latest features or bug fixes in lipgloss.
Commit Log
chore(deps): bump github.com/charmbracelet/lipgloss in /examples (#1198)
AI Summary
The commit updates the lipgloss dependency from version 0.13.0 to 0.13.1 and updates related dependencies like x/ansi and x/sys. This change is likely to include bug fixes, performance improvements, or new features from the lipgloss library.
Commit Log
chore(deps): update lipgloss