Skip to content

v0.3.0 — Platform hardening

Choose a tag to compare

@steven-d-frank steven-d-frank released this 07 Jun 12:06
· 32 commits to main since this release
055c0c3

Golid 0.3.0 is a production-hardening release — uflex dogfood patterns distilled into the starter: clearer backend structure, trustworthy integration tests, sharded CI with doc/rule gates, and a stronger docs + Cursor rules organism.

Highlights

  • internal/wire/ — dependency wiring extracted from main.go; services split into domain subpackages (auth/, user/, feature/, sse/, email/)
  • Integration test harness — per-package Postgres schemas, TEST_DATABASE_URL required, init-test-db.sh, handler HTTP integration tests
  • CI — path filters, sharded backend unit/integration/coverage, spec-drift + rule-health gates, scaffold-verify; docs-only PRs skip heavy jobs
  • Tailwind CSS 4@tailwindcss/vite, no PostCSS plugin, tailwind-variants v1
  • Toolchain — Node 24, Vitest 4, Echo 4.15.1, OpenTelemetry 1.42, @solidjs/start 1.3.2
  • Docs & rules — 37 Cursor rules (thesis on every rule), module spec stubs, cross-cutting docs (flows, schema, permissions, manual-qa, runbooks), ADRs 003–007
  • 752 tests — 277 Go + 455 Vitest + 20 Playwright E2E

Breaking changes (upgrading from 0.2)

  • Service import paths → internal/service/<pkg>/
  • Use wire.BuildServices / wire.BuildHandlers / wire.RegisterRoutes
  • pagination and retry moved to top-level packages
  • Node 24 and Vitest 4 required
  • Integration tests require TEST_DATABASE_URL and -tags integration
  • Devcontainer HMR uses fixed ports (frontend on 3000)

Upgrade

# After pulling, if you forked with custom imports:
cd backend && go run ./cmd/rename <name> <module-path>

# Integration tests
./scripts/init-test-db.sh
export TEST_DATABASE_URL=postgres://dev:dev@localhost:5432/golid_test?sslmode=disable
cd backend && go test -tags integration ./...

Full details: CHANGELOG.md