fix(deps): update module github.com/charmbracelet/log to v2 #24

Merged
onlyhavecans merged 2 commits from renovate/github.com-charmbracelet-log-2.x into main 2026-03-10 08:41:48 -07:00
Member

This PR contains the following updates:

Package Change Age Confidence
github.com/charmbracelet/log v0.4.2v2.0.0 age confidence

Release Notes

charmbracelet/log (github.com/charmbracelet/log)

v2.0.0

Compare Source

What's New in Log v2

We're excited to announce the second major release of Log!

[!NOTE]
If you're looking for technical details on migrating from v1, check out the Upgrade Guide.

❤️ Charm Land Import Path

We've updated our import paths to use vanity domains and our own domain to import Go packages.

// Before
import "github.com/charmbracelet/log"

// After
import "charm.land/log/v2"

🎨 Lip Gloss v2

Log v2 now uses Lip Gloss v2, which brings a pure, streamlined styling experience. No more fighting over i/o! Lip Gloss is now pure, which means Log manages i/o and styling flows smoothly without conflicts.

What does this mean for you? Built-in color downsampling. Your logs will look great in any terminal, automatically downsampling colors to match the terminal's capabilities. No more broken colors in limited color environments.

🌈 Modern Color Profile Support

Log v2 uses the colorprofile library to automatically detect and adapt to your terminal's color capabilities. Your logs will "just work" across all terminals, from basic 16-color setups to true color displays.

Colors are automatically downsampled to the best available profile, so your styled logs never misbehave—whether you're in a fancy modern terminal or a basic SSH session.

🔧 Simpler API

We've cleaned up the API to make working with color profiles more intuitive:

// Set a color profile manually
logger.SetColorProfile(colorprofile.TrueColor)

// The logger automatically handles downsampling

The SetColorProfile method now uses colorprofile.Profile instead of termenv.Profile, giving you direct control over color handling with a modern, well-supported library.

Updated Styles with Lip Gloss v2

All style fields in the Styles struct now use Lip Gloss v2. The styling API remains familiar, but benefits from improved performance and the new pure architecture:

styles := log.DefaultStyles()
styles.Levels[log.ErrorLevel] = lipgloss.NewStyle().
    SetString("ERROR!!").
    Padding(0, 1, 0, 1).
    Background(lipgloss.Color("204")).
    Foreground(lipgloss.Color("0"))

Lip Gloss v2 brings better rendering, improved performance, and a cleaner separation of concerns between styling and i/o.

🚀 Better Performance

With the move to Lip Gloss v2 and colorprofile, Log v2 delivers:

  • Faster rendering — Pure Lip Gloss means less overhead
  • Smarter color handling — Automatic downsampling reduces unnecessary processing
  • Cleaner output — Colors that work correctly in every environment

📦 Smaller Dependency Tree

Log v2 has a streamlined set of dependencies:

  • charm.land/lipgloss/v2 — Pure styling, no i/o conflicts
  • github.com/charmbracelet/colorprofile — Smart color detection and downsampling
  • Removed termenv dependency — Everything handled through modern libraries

🔮 Ready for the Future

The v2 architecture sets Log up for future enhancements. The pure Lip Gloss foundation and modern color handling mean we can add new features without architectural constraints.

🌍 What Stays the Same

All the features you love about Log are still here:

  • Leveled logging (Debug, Info, Warn, Error, Fatal)
  • Structured key-value pairs
  • Customizable styles and colors
  • Multiple formatters (Text, JSON, Logfmt)
  • Sub-loggers with context
  • Slog handler support
  • Standard log adapter
  • Helper functions
  • Timestamp and caller reporting

The core API remains familiar—you're just getting better performance and color handling under the hood.

🌈 More on Log v2

Ready to upgrade? Head over to the Upgrade Guide for the complete migration checklist.


Changelog

New!
  • 32debe4429a80bef14efe989fc4829a6b9beac18: feat(ci): use goreleaser for releases (@​aymanbagabas)
  • fa91da8504524dc494016b9f791cc7cc864b7b5b: feat: use lipgloss/v2 (#​149) (@​caarlos0)
Fixed
  • e49b9199c1f945a91e2eb46b21b47e49b3392da4: fix(ci): replace revive lint ignore with golangci-lint text rule (@​aymanbagabas)
  • 838c7fd90b9968d9586a4f1ccfdbf3b9db12c332: fix(ci): simplify build workflow (@​aymanbagabas)
  • 575a064fc4f313161638328dc5adcb56e6ec2b96: fix(ci): update go versions in build matrix (@​aymanbagabas)
  • ec72699b2f4e8efe56c112f1345503d443656e88: fix(ci): use local golangci config (@​aymanbagabas)
  • 95e061c84b10d8e6193bc9a95183a7720f6b61b9: fix(test): pass all tests using shampoo.Writer (@​bashbunni)
  • 7671c0fc615aac557dc8b4ce9405ebfbbe52d7b0: fix(test): use shampoo in stdlog_test (@​bashbunni)
  • e17476bb6326993f96a58fd60a289d96d762040a: fix: buffer writes n stuff (@​bashbunni)
  • c379e29ff706d974303f2552696d13a8bbcd37da: fix: properly handle downsampling colors (@​aymanbagabas)
  • 978e92235d710a999fea22f934096ff008a4f636: fix: rename mod to /v2, update lipgloss (@​caarlos0)
Docs
  • c538e69803a32d37d8eb1b64424c67f36a17cd5a: docs: add upgrade guide for Log v2 (#​195) (@​aymanbagabas)
Other stuff
  • 358b5269b546b6f464705de0f7daefddd9069962: ci: update go (@​caarlos0)
  • 8ee8d2a16cfc7990372a5989318c1522e3d40e13: refactor: first commit where the program runs... failing tests (@​bashbunni)
  • 529bb77f35da2d883f1bd08d04d1fff998306dde: refactor: migrate to charm.land domain (#​190) (@​aymanbagabas)

Feedback

Have thoughts on Log v2? We'd love to hear about it. Let us know on…


Part of Charm.

The Charm logo

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

v1.0.0

Compare Source


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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/charmbracelet/log](https://github.com/charmbracelet/log) | `v0.4.2` → `v2.0.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2flog/v2.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2flog/v0.4.2/v2.0.0?slim=true) | --- ### Release Notes <details> <summary>charmbracelet/log (github.com/charmbracelet/log)</summary> ### [`v2.0.0`](https://github.com/charmbracelet/log/releases/tag/v2.0.0) [Compare Source](https://github.com/charmbracelet/log/compare/v1.0.0...v2.0.0) ### What's New in Log v2 We're excited to announce the second major release of Log! > \[!NOTE] > If you're looking for technical details on migrating from v1, check out the [Upgrade Guide](UPGRADE_GUIDE_V2.md). #### ❤️ Charm Land Import Path We've updated our import paths to use vanity domains and our own domain to import Go packages. ```go // Before import "github.com/charmbracelet/log" // After import "charm.land/log/v2" ``` #### 🎨 Lip Gloss v2 Log v2 now uses [Lip Gloss v2][lg], which brings a pure, streamlined styling experience. No more fighting over i/o! Lip Gloss is now pure, which means Log manages i/o and styling flows smoothly without conflicts. What does this mean for you? **Built-in color downsampling.** Your logs will look great in any terminal, automatically downsampling colors to match the terminal's capabilities. No more broken colors in limited color environments. [lg]: https://charm.land/lipgloss #### 🌈 Modern Color Profile Support Log v2 uses the [colorprofile][cp] library to automatically detect and adapt to your terminal's color capabilities. Your logs will "just work" across all terminals, from basic 16-color setups to true color displays. Colors are automatically downsampled to the best available profile, so your styled logs never misbehave—whether you're in a fancy modern terminal or a basic SSH session. [cp]: https://github.com/charmbracelet/colorprofile #### 🔧 Simpler API We've cleaned up the API to make working with color profiles more intuitive: ```go // Set a color profile manually logger.SetColorProfile(colorprofile.TrueColor) // The logger automatically handles downsampling ``` The `SetColorProfile` method now uses `colorprofile.Profile` instead of `termenv.Profile`, giving you direct control over color handling with a modern, well-supported library. #### ✨ Updated Styles with Lip Gloss v2 All style fields in the `Styles` struct now use Lip Gloss v2. The styling API remains familiar, but benefits from improved performance and the new pure architecture: ```go styles := log.DefaultStyles() styles.Levels[log.ErrorLevel] = lipgloss.NewStyle(). SetString("ERROR!!"). Padding(0, 1, 0, 1). Background(lipgloss.Color("204")). Foreground(lipgloss.Color("0")) ``` Lip Gloss v2 brings better rendering, improved performance, and a cleaner separation of concerns between styling and i/o. #### 🚀 Better Performance With the move to Lip Gloss v2 and colorprofile, Log v2 delivers: - **Faster rendering** — Pure Lip Gloss means less overhead - **Smarter color handling** — Automatic downsampling reduces unnecessary processing - **Cleaner output** — Colors that work correctly in every environment #### 📦 Smaller Dependency Tree Log v2 has a streamlined set of dependencies: - **charm.land/lipgloss/v2** — Pure styling, no i/o conflicts - **github.com/charmbracelet/colorprofile** — Smart color detection and downsampling - **Removed termenv dependency** — Everything handled through modern libraries #### 🔮 Ready for the Future The v2 architecture sets Log up for future enhancements. The pure Lip Gloss foundation and modern color handling mean we can add new features without architectural constraints. #### 🌍 What Stays the Same All the features you love about Log are still here: - ✅ Leveled logging (Debug, Info, Warn, Error, Fatal) - ✅ Structured key-value pairs - ✅ Customizable styles and colors - ✅ Multiple formatters (Text, JSON, Logfmt) - ✅ Sub-loggers with context - ✅ Slog handler support - ✅ Standard log adapter - ✅ Helper functions - ✅ Timestamp and caller reporting The core API remains familiar—you're just getting better performance and color handling under the hood. #### 🌈 More on Log v2 Ready to upgrade? Head over to the [Upgrade Guide](UPGRADE_GUIDE_V2.md) for the complete migration checklist. *** <details> <summary> #### Changelog </summary> ##### New! * 32debe4429a80bef14efe989fc4829a6b9beac18: feat(ci): use goreleaser for releases (@&#8203;aymanbagabas) * fa91da8504524dc494016b9f791cc7cc864b7b5b: feat: use lipgloss/v2 (#&#8203;149) (@&#8203;caarlos0) ##### Fixed * e49b9199c1f945a91e2eb46b21b47e49b3392da4: fix(ci): replace revive lint ignore with golangci-lint text rule (@&#8203;aymanbagabas) * 838c7fd90b9968d9586a4f1ccfdbf3b9db12c332: fix(ci): simplify build workflow (@&#8203;aymanbagabas) * 575a064fc4f313161638328dc5adcb56e6ec2b96: fix(ci): update go versions in build matrix (@&#8203;aymanbagabas) * ec72699b2f4e8efe56c112f1345503d443656e88: fix(ci): use local golangci config (@&#8203;aymanbagabas) * 95e061c84b10d8e6193bc9a95183a7720f6b61b9: fix(test): pass all tests using shampoo.Writer (@&#8203;bashbunni) * 7671c0fc615aac557dc8b4ce9405ebfbbe52d7b0: fix(test): use shampoo in stdlog_test (@&#8203;bashbunni) * e17476bb6326993f96a58fd60a289d96d762040a: fix: buffer writes n stuff (@&#8203;bashbunni) * c379e29ff706d974303f2552696d13a8bbcd37da: fix: properly handle downsampling colors (@&#8203;aymanbagabas) * 978e92235d710a999fea22f934096ff008a4f636: fix: rename mod to /v2, update lipgloss (@&#8203;caarlos0) ##### Docs * c538e69803a32d37d8eb1b64424c67f36a17cd5a: docs: add upgrade guide for Log v2 (#&#8203;195) (@&#8203;aymanbagabas) ##### Other stuff * 358b5269b546b6f464705de0f7daefddd9069962: ci: update go (@&#8203;caarlos0) * 8ee8d2a16cfc7990372a5989318c1522e3d40e13: refactor: first commit where the program runs... failing tests (@&#8203;bashbunni) * 529bb77f35da2d883f1bd08d04d1fff998306dde: refactor: migrate to charm.land domain (#&#8203;190) (@&#8203;aymanbagabas) </details> *** #### Feedback Have thoughts on Log v2? We'd *love* to hear about it. Let us know on… - [Discord](https://charm.land/chat) - [Matrix](https://charm.land/matrix) - [Email](mailto:vt100@&#8203;charm.land) *** Part of [Charm](https://charm.land). <a href="https://charm.land/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a> Charm热爱开源 • Charm loves open source • نحنُ نحب المصادر المفتوحة ### [`v1.0.0`](https://github.com/charmbracelet/log/compare/v0.4.2...v1.0.0) [Compare Source](https://github.com/charmbracelet/log/compare/v0.4.2...v1.0.0) </details> --- ### 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS40IiwidXBkYXRlZEluVmVyIjoiNDMuNTkuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
fix(deps): update module github.com/charmbracelet/log to v2
Some checks failed
renovate/artifacts Artifact file update failure
CI / test (push) Failing after 1m10s
CI / lint (push) Failing after 1m11s
CI / build (push) Has been skipped
7526174c8e
Author
Member

⚠️ Artifact update problem

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

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

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

The artifact failure details are included below:

File name: go.sum
Command failed: go get -t ./...
go: module github.com/charmbracelet/log/v2@v2.0.0 requires go >= 1.25.8; switching to go1.25.8
go: github.com/charmbracelet/log/v2@v2.0.0: parsing go.mod:
	module declares its path as: charm.land/log/v2
	        but was required as: github.com/charmbracelet/log/v2

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: go.sum ``` Command failed: go get -t ./... go: module github.com/charmbracelet/log/v2@v2.0.0 requires go >= 1.25.8; switching to go1.25.8 go: github.com/charmbracelet/log/v2@v2.0.0: parsing go.mod: module declares its path as: charm.land/log/v2 but was required as: github.com/charmbracelet/log/v2 ```
Renovate-Bot force-pushed renovate/github.com-charmbracelet-log-2.x from 7526174c8e
Some checks failed
renovate/artifacts Artifact file update failure
CI / test (push) Failing after 1m10s
CI / lint (push) Failing after 1m11s
CI / build (push) Has been skipped
to 2a01a1d7e2
Some checks failed
renovate/artifacts Artifact file update failure
CI / test (push) Failing after 1m12s
CI / lint (push) Failing after 1m16s
CI / build (push) Has been skipped
2026-03-09 16:00:51 -07:00
Compare
fix: update patch
All checks were successful
CI / test (push) Successful in 59s
CI / lint (push) Successful in 1m1s
CI / build (push) Successful in 24s
2a5c2f6297
onlyhavecans force-pushed renovate/github.com-charmbracelet-log-2.x from 2a5c2f6297
All checks were successful
CI / test (push) Successful in 59s
CI / lint (push) Successful in 1m1s
CI / build (push) Successful in 24s
to a393096ca2
All checks were successful
CI / lint (push) Successful in 41s
CI / test (push) Successful in 49s
CI / build (push) Successful in 22s
2026-03-10 08:38:27 -07:00
Compare
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tools/muck!24
No description provided.