Skip to content

Releases: charmbracelet/soft-serve

v0.6.0

28 Aug 13:25
fd167be
Compare
Choose a tag to compare

Git LFS Support

Soft Serve now supports Git LFS over both HTTP and SSH. You can upload/download LFS files on your Soft Serve instance. The SSH protocol is enabled by default. To use HTTP instead, you can disable the SSH protocol in the config under lfs.ssh_enabled.

Collaborator Access Levels

You can now specify the access level for collaborators. Before, all repository collaborators would have read-write access. Now you can have more fine control over repository collaborator access. If you don't specify an access level when adding a collaborator to a repository, read-write access level will be used.

HTTP Authentication

Prior to this release, Soft Serve Git HTTP server would only serve public repositories and wouldn't allow push access. Now, you can use user access tokens to push repositories over HTTP. You can generate a personal token using the token SSH command.

Postgres Support

We have added Postgres database support for those who need a more powerful database engine. SQLite is still the default database engine for Soft Serve. Head to Database Configuration for more information on how to set up Postgres for your Soft Serve instance.

Changelog

New Features

Bug fixes

Dependency updates

  • ddb3bd6: feat(deps): bump github.com/charmbracelet/bubbles from 0.15.0 to 0.16.1 (@dependabot[bot])
  • 940bde7: feat(deps): bump github.com/charmbracelet/bubbletea (@dependabot[bot])
  • bf6b47f: feat(deps): bump github.com/charmbracelet/bubbletea (@dependabot[bot])
  • 191b832: feat(deps): bump github.com/charmbracelet/keygen from 0.4.2 to 0.4.3 (@dependabot[bot])
  • 62b9fda: feat(deps): bump github.com/charmbracelet/lipgloss from 0.7.1 to 0.8.0 (#372) (@dependabot[bot])
  • 75cf8a5: feat(deps): bump github.com/charmbracelet/log (@dependabot[bot])
  • 277bbc1: feat(deps): bump github.com/charmbracelet/log from 0.2.1 to 0.2.2 (@dependabot[bot])
  • 104aa73: feat(deps): bump github.com/charmbracelet/log from 0.2.3 to 0.2.4 (#371) (@dependabot[bot])
  • 1491acb: feat(deps): bump github.com/go-git/go-git/v5 from 5.6.1 to 5.7.0 (@dependabot[bot])
  • e610867: feat(deps): bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.1 (@dependabot[bot])
  • a12b45b: feat(deps): bump github.com/gogs/git-module from 1.8.2 to 1.8.3 (#365) (@dependabot[bot])
  • c2a9b29: feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.2 to 2.0.3 (@dependabot[bot])
  • fa6deb4: feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.3 to 2.0.4 (@dependabot[bot])
  • bb94850: feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.4 to 2.0.5 (@dependabot[bot])
  • d1593cc: feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.5 to 2.0.6 (#374) (@dependabot[bot])
  • f0eb762: feat(deps): bump github.com/lib/pq from 1.2.0 to 1.10.9 (#339) (@dependabot[bot])
  • f147ff5: feat(deps): bump github.com/muesli/termenv from 0.15.1 to 0.15.2 (@dependabot[bot])
  • 7b3f2c2: feat(deps): bump github.com/prometheus/client_golang (#325) (@dependabot[bot])
  • d7fcf9d: feat(deps): bump github.com/rogpeppe/go-internal (@dependabot[bot])
  • 0e9abaf: feat(deps): bump go.uber.org/automaxprocs from 1.5.2 to 1.5.3 (#343) (@dependabot[bot])
  • 75172cf: feat(deps): bump golang.org/x/crypto from 0.10.0 to 0.11.0 (#335) (@dependabot[bot])
  • 05ecf8d: feat(deps): bump golang.org/x/crypto from 0.11.0 to 0.12.0 (@dependabot[bot])
  • 691f681: feat(deps): bump golang.org/x/crypto from 0.9.0 to 0.10.0 (#323) (@dependabot[bot])
  • a72790a: feat(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 (@dependabot[bot])
  • 6ce418b: feat(deps): bump modernc.org/sqlite from 1.22.1 to 1.23.0 (@dependabot[bot])
  • 65de5ba: feat(deps): bump modernc.org/sqlite from 1.23.0 to 1.23.1 (@dependabot[bot])
  • ad4231b: feat(deps): bump modernc.org/sqlite from 1.23.1 to 1.24.0 (#336) (@dependabot[bot])
  • f52dcd2: feat(deps): bump modernc.org/sqlite from 1.24.0 to 1.25.0 (@dependabot[bot])

Documentation updates

Other work


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/soft-serve/releases/download/0.6.0/checksums.txt'

Then, verify it using cosign:

cosign verify-blob \
  --certificate-identity 'https://github.com/charmbracelet/meta/.github/workflows/goreleaser.yml@refs/heads/main' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  --cert 'https://github.com/charmbracelet/soft-serve/releases/download/0.6.0/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/soft-serve/releases/download/0.6.0/checksums.txt.sig' \
  ./checksums.txt

If the ou...

Read more

v0.5.5

18 Jul 16:22
fee41f4
Compare
Choose a tag to compare

Changelog

Bug fixes


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

v0.5.4

16 May 22:12
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes

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.5.3

11 May 20:19
b07de74
Compare
Choose a tag to compare

A bunch of bug fixes, performance improvements, and docs updates.

Setting the LogFormat is now under log.format in the yaml config instead of log_format. You can still use SOFT_SERVE_LOG_FORMAT. We also added a SOFT_SERVE_LOG_TIME_FORMAT to change how the logs format time. The default time format is now includes date and time.

The Docker container now comes with OpenSSH installed for more compatibility.

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.

v0.5.2

05 May 16:32
Compare
Choose a tag to compare

Changelog

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.

Systemd Service, dependency upgrades, and bug fixes.

03 May 18:43
Compare
Choose a tag to compare

DEB and RPM now include default Systemd service files. It also creates a new soft-serve user and tmpfiles for running Soft Serve.

Upgrade dependencies.

Fix Soft Serve bash dependency in packages and Docker image.

Changelog

New Features

Bug fixes

Dependency updates

Documentation updates

Other work

v0.5.0

02 May 13:27
Compare
Choose a tag to compare

Soft Serve v0.5 is here!

This Soft Serve release includes many new features and bug fixes. Now, Soft Serve supports cloning over HTTP(s) and git:// protocols. It can also be used to import Go packages (go-import aware). It also brings preliminary CI/CD support through Git hooks.

Breaking Change

Soft Serve no longer uses a config repository for configuration. Now, the configs are split into 2 parts, server config, and access config.

Configuration environment variables have changed:

  • SOFT_SERVE_INITIAL_ADMIN_KEY is now SOFT_SERVE_INITIAL_ADMIN_KEYS.
  • SOFT_SERVE_KEY_PATH is now SOFT_SERVE_SSH_KEY_PATH.
  • SOFT_SERVE_REPO_PATH is replaced with SOFT_SERVE_DATA_PATH. However, SOFT_SERVE_DATA_PATH now points to the parent directory that holds all Soft Serve data and repositories.
  • SOFT_SERVE_BIND_ADDRESS is now SOFT_SERVE_SSH_LISTEN_ADDR.
  • SOFT_SERVE_HOST and SOFT_SERVE_PORT are now combined into SOFT_SERVE_SSH_PUBLIC_URL. This should be in the form of ssh://HOST[:PORT]

All these environment variables, except SOFT_SERVE_DATA_PATH, can be defined in config.yaml. Defining environment variables settings will override the settings defined in config.yaml.

Migration

You can use soft migrate-config command to migrate the existing (old) config to the new one. First, make sure you define the following environment variables before running the command:

  • SOFT_SERVE_KEY_PATH The path to the server host key.
  • SOFT_SERVE_REPO_PATH The path to the repository store directory.
  • SOFT_SERVE_BIND_ADDRESS The address that the server binds to.

By default, this will produce a new data directory that has the migrated repositories and ssh keys. You can change that using the SOFT_SERVE_DATA_PATH environment variable.

Server Configuration

The default Soft Serve backend uses SQLite to store access configs, users, and repository metadata. Custom backends can be implemented to support the old behavior (using a config repository).

The server config is stored in config.yaml under the data directory.

Access Configuration

Access configuration and users are now managed through the new SSH-based API. Admins can add/remove users using the user command. Use the pubkey command to manage user SSH public keys.

Other access configurations like anon-access and allow-keyless still exist and can be controlled using the settings command. These two access settings control the behavior of users using http(s):// and git:// protocols and anonymous users.

Host your own Soft Serve instance

Check out our new post on hosting your own Soft Serve instance.

Issues

Please report any issues and bugs here.

Changelog

New Features

Bug fixes

Read more

v0.4.7

28 Mar 16:06
5149978
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes

Dependency updates

  • 6d9ad10: feat(deps): bump github.com/aymanbagabas/go-osc52 from 1.2.1 to 1.2.2 (@dependabot[bot])
  • a39db5b: feat(deps): bump github.com/charmbracelet/bubbles from 0.14.0 to 0.15.0 (@dependabot[bot])
  • 340afde: feat(deps): bump github.com/charmbracelet/glamour (@dependabot[bot])
  • 2e15fb8: feat(deps): bump github.com/charmbracelet/lipgloss from 0.6.0 to 0.7.1 (@dependabot[bot])
  • e7a955f: feat(deps): bump github.com/charmbracelet/log from 0.2.0 to 0.2.1 (@dependabot[bot])
  • c211f43: feat(deps): bump github.com/dustin/go-humanize from 1.0.0 to 1.0.1 (@dependabot[bot])
  • 8c7466c: feat(deps): bump github.com/go-git/go-git/v5 from 5.4.2 to 5.6.1 (@dependabot[bot])
  • b219276: feat(deps): bump github.com/gogs/git-module from 1.7.1 to 1.8.1 (@dependabot[bot])
  • 1e5989e: feat(deps): bump github.com/matryer/is from 1.4.0 to 1.4.1 (@dependabot[bot])
  • 395a060: feat(deps): bump golang.org/x/crypto from 0.6.0 to 0.7.0 (@dependabot[bot])

The Charm logo

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

v0.4.6

21 Feb 20:35
Compare
Choose a tag to compare

Changelog

New Features

Bug fixes


The Charm logo

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

v0.4.5

30 Jan 19:19
Compare
Choose a tag to compare

Changelog

Bug fixes

Dependency updates

  • 7cfe48d: feat(deps): bump github.com/go-git/go-billy/v5 from 5.3.1 to 5.4.0 (@dependabot[bot])

The Charm logo

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