Skip to content

Releases: charmbracelet/wish

v1.4.0

03 Apr 18:13
309ee5c
Compare
Choose a tag to compare

Changelog

New Features


The Charm logo

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

v1.3.2

08 Mar 18:23
3d2054d
Compare
Choose a tag to compare

Changelog

Bug fixes

Documentation updates

Other work


The Charm logo

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

v1.3.1

06 Feb 11:35
23261db
Compare
Choose a tag to compare

Changelog

Documentation updates


The Charm logo

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

v1.3.0

31 Jan 12:33
ee243c6
Compare
Choose a tag to compare

PTYs, Subsystems, and More

This release is loaded with improvements and new features like support for exec, server banners, subsystems, and client color profiles. Read on for more!

Exec and PTYs

At last, now you can get real a PTY for reach SSH connection. This allows you to exec.Command on the remote. This also means bubbletea.Exec will now work as expected1!

// Open a file in Vim in Bubble Tea (on the server)
c := wish.Command(m.sess, "vim", "file.txt")
cmd := tea.Exec(c, func(err error) tea.Msg {
  if err != nil {
    log.Error("vim finished", "error", err)
  }
  return cmdFinishedMsg{err: err}
})

Example

Lip Gloss Renderers

You can now use MakeRenderer to create a Lip Gloss renderer for the each user's session. This will suss out the user's terminal and render colors using the best available color profile as well as detect whether the background is dark or light. You can then use that renderer to init your app's styles.

Before this update, it would use the server's environment variables to figure this out, which could cause wrong results, especially when running via Docker/Systemd.

The behavior of MiddlewareWithColorProfile has also changed: now, the provided color profile will be used as "the minimal color profile supported".

Example

Server Banners

Time to fire up figlet: server banners are here! Enjoy! 🫢

Example

Subsystems

You can now use the WithSubsystem option to add handlers for specific subsystems (for instance, SFTP).

Example

Git Improvements

If you ever wanted to use Wish's private ensureRepo function, you'll be happy to know it is now public (i.e. EnsureRepo). Ensure repo creates Git repos on demand.

Go 1.19

Wish now requires Go 1.19 to run.

Docs

We added new examples in the examples directory, as well as updated many of the previously existing ones.
Check them out to learn more about Wish. 😬


Changelog

New Features

Bug fixes

Dependency updates

Documentation updates

Other work


The Charm logo

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

  1. Windows support is limited, see charmbracelet/ssh#20 and #232. ↩

v1.2.0

26 Oct 11:51
v1.2.0
18cd255
Compare
Choose a tag to compare

Changelog

Bug fixes

Dependency updates

Documentation updates

Other work


The Charm logo

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

v1.1.1

24 Apr 19:36
59b452f
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes

Dependency updates


The Charm logo

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

v1.1.0

20 Mar 17:34
v1.1.0
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes

Dependency updates

Documentation updates


The Charm logo

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

v1.0.0

22 Dec 13:37
v1.0.0
0185fd6
Compare
Choose a tag to compare

Changelog

πŸ’« Wish v1.0.0 replaces the amazing gliderlabs/ssh with charmbracelet/ssh, which is a fork of the former under our control. This should help us ship new features and improvements faster, and all changes are submitted back to GliderLabs.

This change, however, requires you to change import paths. But don't fire your seds and search/replaces yet, you can do it with gofmt:

go get github.com/charmbracelet/wish@latest
gofmt -l -w -r '"github.com/gliderlabs/ssh" -> "github.com/charmbracelet/ssh"' .
go mod tidy

New Features

Bug fixes

Dependency updates

Documentation updates

Other work


The Charm logo

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

v0.7.0

16 Nov 17:24
v0.7.0
45af061
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes

Dependency updates

Documentation updates


The Charm logo

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

v0.6.0

24 Oct 17:57
v0.6.0
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes

Dependency updates

Documentation updates

Other work


The Charm logo

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