Releases: charmbracelet/soft-serve
v0.4.2
Changelog
New Features
- 6133774: feat(config): add auth tests (@aymanbagabas)
- 6669908: feat(config): add repo collabs (@aymanbagabas)
- 9f8c09a: feat(config): per repo config (@aymanbagabas)
- b079c14: feat(ui): back using right mouse click and backspace key (@aymanbagabas)
Bug fixes
- 8979f6b: fix(git): disable pushing to subdirectories (@aymanbagabas)
- cf2b319: fix(git): skip reading files (@aymanbagabas)
- 18d5989: fix(session): unauthorized access to private repos (@aymanbagabas)
- 17bf584: fix(ui): hide tabs while filtering (@aymanbagabas)
- 8bb68af: fix(ui): incorrect help while filtering (@aymanbagabas)
- f65e532: fix(ui): move url style into its own (@aymanbagabas)
- 6dbdb43: fix(ui): quitting on filtering (@aymanbagabas)
- f45c018: fix: wait for ssh.Serve to terminate (@muesli)
Dependency updates
- aed0130: feat(deps): bump charmbracelet/wish (@aymanbagabas)
- 8c40f69: feat(deps): bump github.com/charmbracelet/bubbletea (@dependabot[bot])
- 2c8a36c: feat(deps): bump github.com/charmbracelet/bubbletea (@dependabot[bot])
Other work
- d88ccb9: ref(config): clarify repo auth for key (@aymanbagabas)
- c7a9618: ref(ui): go back msg (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.
v0.4.1
Changelog
New Features
- 7221051: feat(config): support json config (@aymanbagabas)
- b2c6401: feat(server): use keyboard-interactive auth instead of password (@aymanbagabas)
- db0c80b: feat: add dependabot (@aymanbagabas)
Bug fixes
- 7baa99e: fix(ci): use soft-serve goreleaser config (@aymanbagabas)
- cf6870c: fix(dep): exclude [email protected] (@aymanbagabas)
- 216ccee: fix: graceful shutdown (@aymanbagabas)
- bccc716: fix: misleading authorized users comment (@aymanbagabas)
Dependency updates
- ca2eb62: feat(deps): bump github.com/aymanbagabas/go-osc52 from 1.0.3 to 1.2.1 (@dependabot[bot])
- aaa9893: feat(deps): bump github.com/caarlos0/env/v6 from 6.10.0 to 6.10.1 (@dependabot[bot])
- c6a3c34: feat(deps): bump github.com/caarlos0/env/v6 from 6.9.1 to 6.9.3 (@dependabot[bot])
- 880a761: feat(deps): bump github.com/caarlos0/env/v6 from 6.9.3 to 6.10.0 (@dependabot[bot])
- 96588f9: feat(deps): bump github.com/charmbracelet/bubbles from 0.11.0 to 0.13.0 (@dependabot[bot])
- 12c2483: feat(deps): bump github.com/charmbracelet/bubbles from 0.13.0 to 0.14.0 (@dependabot[bot])
- 8e69149: feat(deps): bump github.com/charmbracelet/bubbletea (@dependabot[bot])
- 8ae5f5a: feat(deps): bump github.com/charmbracelet/lipgloss from 0.5.0 to 0.6.0 (@dependabot[bot])
- c9b88f4: feat(deps): bump github.com/charmbracelet/wish from 0.5.0 to 0.6.0 (@dependabot[bot])
- 79ce212: feat(deps): bump github.com/gliderlabs/ssh from 0.3.4 to 0.3.5 (@dependabot[bot])
- 7abfe3d: feat(deps): bump github.com/gogs/git-module from 1.6.1 to 1.7.0 (@dependabot[bot])
- 494ecb1: feat(deps): bump github.com/gogs/git-module from 1.7.0 to 1.7.1 (@dependabot[bot])
- 51ea0f8: feat(deps): bump github.com/muesli/termenv from 0.12.0 to 0.13.0 (@dependabot[bot])
- be4c80a: feat(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (@dependabot[bot])
- c0fcab4: feat(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (@dependabot[bot])
Documentation updates
- b69881c: docs: apt-key deprecation (@aymanbagabas)
- b4ec8a4: docs: fix debian/ubuntu install instructions (@aymanbagabas)
- 8851a0e: docs: new readme footer (@muesli)
- e11cb71: docs: remove duplicate comment (@aymanbagabas)
- cc704b5: docs: show image as 100% and max-width 750px (@maaslalani)
- 0da7a86: docs: update apt/yum installation instructions (@aymanbagabas)
Other work
- dc1f295: Improve port forwarding wording (@pingiun)
- 60f2f8f: Update issue templates (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.
v0.4.0
New Release, New Look
🍦 This fresh release of Soft Serve contains:
- A completely new look and UI overhaul
- Mouse support
- Copying text over SSH
Give it a go with:
ssh git.charm.sh
Full Changelog: v0.3.0...v0.4.0
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.3.3
- Use spf13/cobra
- Fix showing Home readme for anon users
Changelog
New Features
- 2ac11c0: feat(cd): sign nfpm packages (@aymanbagabas)
- 748f21e: feat(ci): publish package to aur (@aymanbagabas)
- d128631: feat: generate man pages and completions (@aymanbagabas)
- 3165828: feat: update git-module (@aymanbagabas)
- 5ae15b5: feat: use spf13/cobra (@aymanbagabas)
Bug fixes
- dc138cd: fix(cd): don't publish aur package (@aymanbagabas)
- ecfaee9: fix(ci): add fury token (@aymanbagabas)
- 2cabbbc: fix(ci): don't publish nightly builds to fury.io (@aymanbagabas)
- 20c33e0: fix(server): disable cobra completions over ssh (@aymanbagabas)
- 8316558: fix: show config repo for anon users (@aymanbagabas)
Others
- b6f1053: Fix example commands (@levidurfee)
- 2ca6979: Fixes #133 (@wissam)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.3.2
This release fixes bugs related to running Soft Serve on Windows and respecting private repos on the TUI.
Changelog
New Features
- 038537d: feat: add running soft-serve as non-root using setgid/setuid (@aymanbagabas)
- 4a5d488: feat: use flag and add comment (@aymanbagabas)
Bug fixes
- 1a871c8: fix(config): use errors.Is instead of os.IsNotExist (@aymanbagabas)
- af13e15: fix: default config repo first commit time (@aymanbagabas)
- 4a5c387: fix: respect private repos (@aymanbagabas)
- ece7523: fix: set allow keyless when no public keys provided (@aymanbagabas)
Others
- ce28819: chore: bump deps (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.3.1
Changelog
Bug fixes
- ccbbd0c: fix(server): commands host & port (@aymanbagabas)
- b6f20d7: fix(server): logging middleware should come first (@aymanbagabas)
- 875ff2b: fix(server): use session stderr on ssh cli interface (@aymanbagabas)
- 30d217f: fix: fix typo in name (@bashbunni)
- 9aa196a: fix: upgrade go-yaml to v3 (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.3.0
This release features major performance improvements, especially for large repos or repos with a lot of commits. We've also updated the CLI command structure with a bunch of new commands for performing git actions over SSH:
$ ssh -p 23231 localhost help
Soft Serve is a self-hostable Git server for the command line.
Usage:
ssh -p 23231 localhost [command]
Available Commands:
cat Outputs the contents of the file at path.
git Perform Git operations on a repository.
help Help about any command
ls List file or directory at path.
reload Reloads the configuration
Flags:
-h, --help help for ssh
Use "ssh -p 23231 localhost [command] --help" for more information about a command.
Changelog
New Features
- 32bdd5b: feat(git): UpdateServerInfo on push (@aymanbagabas)
- 0aec8c2: feat: add soft-serve middleware commands (@aymanbagabas)
- 602b14c: feat: add tui pagination (@aymanbagabas)
- 3795020: feat: show spinner when loading a large commit diff (@aymanbagabas)
- d3669af: feat: show spinner when loading commits (@aymanbagabas)
- 68feddf: feat: specify custom readme file (@aymanbagabas)
- 2cf6dcb: feat: use meta/build.yml (@aymanbagabas)
Bug fixes
- db127f5: fix(config): don't marshal server config (@aymanbagabas)
- f68e3aa: fix(config): trim pk file contents (@aymanbagabas)
- 062cb70: fix(git): add missing errors (@aymanbagabas)
- 0a26b94: fix(test): use go-git to create default config repo (@aymanbagabas)
- 67b11ee: fix(tui): git tree/log files off by one line (@aymanbagabas)
- 8a57c24: fix(tui): selecting an item in an empty git tree (@aymanbagabas)
- 0b3479f: fix(tui): show error on empty readme and empty tree (@aymanbagabas)
- 06dc749: fix: allow admin for anon-access (@aymanbagabas)
- e256fed: fix: don't load non-git repos (@aymanbagabas)
- bd4b435: fix: ignore directories when getting LatestFile (@aymanbagabas)
- ca3dbb2: fix: restrict access to private repos unless admin or collab (@aymanbagabas)
- 8b4ee57: fix: show log for a specific reference (@aymanbagabas)
- 11cf86f: fix: ssh cli usage template (@aymanbagabas)
- 80df7f4: fix: style adjustments (@aymanbagabas)
- edbcf6f: fix: tui initial repo (@aymanbagabas)
- 66a64cf: fix: update bubbles window size on change (@aymanbagabas)
Others
- aa1c744: chore: add server tests (@aymanbagabas)
- 21b4d4e: chore: update deps (@aymanbagabas)
- 3800161: chore: update deps (@aymanbagabas)
- 2260498: chore: update keygen to v0.3.0 and deps (@aymanbagabas)
- 93d2572: doc: update readme (@aymanbagabas)
- 8ad99d8: refactor(git): use repo path instead of name (@aymanbagabas)
- bd06f71: refactor: move pkg/{git,tui} to root (@aymanbagabas)
- a869926: refactor: use gogs/git-module (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.2.3
Changelog
New Features
- eaf9f4b: feat(tui): only show branches and tags (@aymanbagabas)
- 752d67a: feat: add server host to config (@aymanbagabas)
- c5fc8b2: feat: cat middleware: list directory entries (@aymanbagabas)
Bug fixes
- 22a98f9: fix: cat mw: print err if repo not found (@aymanbagabas)
- fd04680: fix: change cat lineno color and style (@aymanbagabas)
- a43daef: fix: don't print extra newlines when printing with line numbers (@meowgorithm)
- 56bacc1: fix: start line numbers at 1 (was a regression) (@meowgorithm)
Others
- 91fd3fe: Add TUI commands and file printing features to README (@toby)
- 192c4d9: Add
SOFT_SERVE_HOST
andSOFT_SERVE_BIND_ADDRESS
docs (@toby) - e267bc9: chore: adjust line number coloring (@meowgorithm)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.2.2
Changelog
Bug fixes
- 3308f43: fix(tui): cache ref commits and track annotated tags (@aymanbagabas)
- 8fa4404: fix: cache git trees and commits (@aymanbagabas)
- 286dedb: fix: cache repo references (@aymanbagabas)
- 61a8eb1: fix: don't block on git push waiting for config reload (@aymanbagabas)
- f67596d: fix: handle repos with no README.md file (@toby)
- 352b06d: fix: lazy load git tui bubbles (@aymanbagabas)
Others
- 6b86cf7: refactor(tui): rename variables and fix ling warnings (@aymanbagabas)
- 4392caa: refactor: git Repo interface naming (@aymanbagabas)
- f3e2b7f: refactor: rename variables (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.
v0.2.1
Changelog
This release features the ability to see project source code, the commit log and branches all within the TUI. It also allows you to output project files directly via ssh, with or without syntax highlighting and line numbers.
New Features
- 9ea2a7e: feat: display files middleware (@aymanbagabas)
- c32ad0b: feat: improve handling of SOFT_SERVE_INITIAL_ADMIN_KEY (#65) (@caarlos0)
- 4fab795: feat: new git tui (@aymanbagabas)
- dd8e7bc: feat: recover from middleware panics (@aymanbagabas)
- 7d76a60: feat: render markdown files using glamour (@aymanbagabas)
- 1c78f44: feat: use soft-serve meta workflow (@aymanbagabas)
Bug fixes
- 9a65128: fix: allow multiple SOFT_SERVE_INITIAL_ADMIN_KEY (#68) (@caarlos0)
- 835660c: fix: change git tui navigation keys (@aymanbagabas)
- 8e032c2: fix: chroma portions of glamour renders that could break layout (@meowgorithm)
- c508766: fix: go mod tidy (@caarlos0)
- 63a85f0: fix: improve key examples (#64) (@caarlos0)
- fa7616f: fix: rename bubble helper for clarity (@aymanbagabas)
- 57b1eff: fix: rename host to bind address (@aymanbagabas)
- a0cc4ea: fix: reset tree after switching refs (@aymanbagabas)
- 078761f: fix: skip parsing empty initial admin keys (@aymanbagabas)
- dba613b: fix: typo in godoc comment (#61) (@muesli)
- ac1afc2: fix: use config from meta (#57) (@caarlos0)
Others
- ead1d7c: Disable config repo file display (@toby)
- 2179011: Generate man page when built with 'mango' build-tag (@muesli)
- e723c1f: Now in the official Arch repo! (@meowgorithm)
- 537cd2b: Publish nighlty builds on push to main only (@aymanbagabas)
- 8511038: Simplify help, disable navigation options on config repo (@toby)
- 6ac16a7: Update README footer (@meowgorithm)
- 8c4370c: Use -c/--color for syntax highlighting and -l/--lineno/--linenumber for (@toby)
- bedac52: chore: go mod tidy (#58) (@caarlos0)
- f290a82: chore: go mod tidy (@aymanbagabas)
- c251203: ci: add manpage workflow (@muesli)
- 2948157: ci: use config files from meta repository (@caarlos0)
- 41038a8: ci: use config files from meta repository (@caarlos0)
- 04ef639: ci: use snapshot goreleaser workflow from meta repository (@aymanbagabas)
- 6faeb37: typo: goreleaser project description (@aymanbagabas)
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Slack.