chore(deps): update module github.com/charmbracelet/log to v2 #16

Closed
renovate-bot wants to merge 1 commit from renovate/github.com-charmbracelet-log-2.x into main
Collaborator

This PR contains the following updates:

Package Type Update Change
github.com/charmbracelet/log require major v0.4.2v2.0.0

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 | Type | Update | Change | |---|---|---|---| | [github.com/charmbracelet/log](https://github.com/charmbracelet/log) | require | major | `v0.4.2` → `v2.0.0` | --- ### 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:eyJjcmVhdGVkSW5WZXIiOiI0My44LjUiLCJ1cGRhdGVkSW5WZXIiOiI0My44LjUiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
chore(deps): update module github.com/charmbracelet/log to v2
Some checks failed
renovate/artifacts Artifact file update failure
ded64dd43a
Author
Collaborator

⚠️ 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: 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: 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 ded64dd43a
Some checks failed
renovate/artifacts Artifact file update failure
to 9751595839
Some checks failed
renovate/artifacts Artifact file update failure
2026-03-26 20:44:32 -04:00
Compare
maxpeterkaya closed this pull request 2026-05-16 13:55:05 -04:00
maxpeterkaya deleted branch renovate/github.com-charmbracelet-log-2.x 2026-05-16 13:55:10 -04:00
Author
Collaborator

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 2.x releases. But if you manually upgrade to 2.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

### Renovate Ignore Notification Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for *any* future `2.x` releases. But if you manually upgrade to `2.x` then Renovate will re-enable `minor` and `patch` updates automatically. If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
Some checks failed
renovate/artifacts Artifact file update failure

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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
maxpeterkaya/changelog!16
No description provided.