Skip to content

v0.3.0

Latest
Compare
Choose a tag to compare
@DeedleFake DeedleFake released this 27 Oct 18:37
c656160

This release has breaking changes. It drops support for the BoltDB-based database system in favor of Postgres and SQLite3. There is a manual migration that must be run in order to not lose data.

Replacement of BoltDB with Postgres/SQLite3

BoltDB had a lot of problems (#15, #17), along with just generally being more difficult to deal with. After some deliberation, it has been removed and support for Postgres and SQLite3 was added instead. The SQLite3 support is not enabled by default. In order to add that support, the various pieces of the project must be compiled with the sqlite3 build tag enabled. The new -dbdriver flag chooses which database driver to use, and the special list argument to that flag will print a list of available drivers in either of the command-line utilities.

With this change, a manual migration process must be run to move data from an old BoltDB database to one of the new ones. To run the migration to move to a Postgres instance, for example:

  1. Stop any existing SIPS instances.
  2. Run sipsctl migrate frombolt -db "$NEW_DATABASE_URL" -boltdb "$PATH_TO_OLD_DATABASE"

What's Changed

  • github: add action to build docker image by @DeedleFake in #14
  • switch database system over to Postgres by @DeedleFake in #18
  • docker, cmd/sips: update Go to 1.17 and standardize logging format a bit by @DeedleFake in #19
  • all: add SQLite3 support by @DeedleFake in #21
  • doc, docker: some minor changes to the README and Dockerfile by @DeedleFake in #22

Full Changelog: v0.2.0...v0.3.0