From 8752bd25aaa2956ab068f025e0e68f7f4dc705b8 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 21 Apr 2026 21:59:44 +0100 Subject: [PATCH] release: v0.3.0 --- CHANGELOG.md | 12 ++++++++++++ internal/cli/cli_test.go | 2 +- internal/cli/version.go | 2 +- scripts/docker-git-source-smoke.sh | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cffd12f..62cda43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,22 @@ All notable changes to `discrawl` will be documented in this file. ## Unreleased +- Nothing yet. + +## 0.3.0 - 2026-04-21 + - `sync --all` now bypasses `default_guild_id` so one run can fan out across every discovered guild without clearing the single-guild default first - `sync --full` no longer aborts when forum thread discovery hits Discord `403 Missing Access`; inaccessible channels are skipped and marked unavailable while accessible channels continue syncing - startup now validates and stamps SQLite schema version via `PRAGMA user_version`, and fails fast if the local DB schema is newer than the running binary - `init --from-openclaw` now supports `--account`, and OpenClaw token fields can use `${ENV_VAR}` placeholders +- git-backed archive sharing can now export/import compressed JSONL snapshots with manifests, subscribe to a Git repo as the data source, and run in git-only mode without Discord credentials +- `messages`, `search`, and reports can automatically refresh stale git-backed data, preferring the Git snapshot before falling back to live Discord when both sources are configured +- the Discord backup publisher workflow now syncs latest messages, publishes the archive to a private GitHub repo, serializes concurrent runs, validates required secrets, and skips the member crawl for faster updates +- the backup report workflow now updates README activity stats, supports OpenClaw-generated field notes, runs the field-note logic from the backup action, and keeps those queries bounded with process timeouts +- `sync --latest-only` adds a lightweight refresh path for checking recent Discord messages without doing a full historical crawl +- repository imports now skip expensive rebuilds when the snapshot manifest is already current, and GitHub Actions persist the warmed SQLite database across runs +- the Docker git-source smoke test now verifies that a fresh install can subscribe to a repository-only archive and query messages, SQL, and reports +- CI now uses Go 1.26.2, `actions/setup-go` 6.4.0, cache actions 5.0.5, Node 24 for report generation, and refreshed SQLite dependencies ## 0.2.0 - 2026-03-26 diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index 15632d3..d13bbb3 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -29,7 +29,7 @@ func TestHelpAndVersion(t *testing.T) { out.Reset() require.NoError(t, Run(context.Background(), []string{"--version"}, &out, &bytes.Buffer{})) - require.Contains(t, out.String(), "0.2.0") + require.Contains(t, out.String(), "0.3.0") err := Run(context.Background(), []string{"bogus"}, &out, &bytes.Buffer{}) require.Equal(t, 2, ExitCode(err)) diff --git a/internal/cli/version.go b/internal/cli/version.go index 6182dd0..13b071c 100644 --- a/internal/cli/version.go +++ b/internal/cli/version.go @@ -1,3 +1,3 @@ package cli -var version = "0.2.0" +var version = "0.3.0" diff --git a/scripts/docker-git-source-smoke.sh b/scripts/docker-git-source-smoke.sh index 20185f9..bc908d9 100755 --- a/scripts/docker-git-source-smoke.sh +++ b/scripts/docker-git-source-smoke.sh @@ -61,7 +61,7 @@ docker run --rm \ cd /src go install ./cmd/discrawl discrawl=/work/bin/discrawl - "$discrawl" --version | grep -q "0.2.0" + "$discrawl" --version | grep -q "0.3.0" "$discrawl" --config /work/config.toml subscribe --repo /work/share file:///backup > /work/subscribe.out "$discrawl" --config /work/config.toml search "docker smoke archive" | tee /work/search.out grep -q "docker smoke archive is queryable" /work/search.out