Fulla v1.0.0
[1.0.0] - 2026-08-26
Series reset note: the project was renamed from authforge to fulla
(Fulla is the keeper of Frigg's secret coffer in Norse mythology), and the
version series resets to 1.0.0 with this release — the rename is
treated as a new product identity; SemVer constrains package identities,
not the repository (the PyPI packagefulla-oauth2, the
ghcr.io/voidvec/fulla-*images, and the CMake packagefullaare all
new identities). Prior history is preserved in the repository CHANGELOG
(the authforge-era [1.0.0]–[1.4.1] entries) and in the full git history.
Rename & Branding
- Repository-wide rename authforge → fulla: C++ namespaces and public
header paths (#include <fulla/...>), CMake packages and targets
(fulla::*), binaries (fulla-server/fulla-tests), the Go module
path, the Helm chart, and the benchmark facility. The api-diff baseline
was regenerated for the new symbol surface (179 headers, ratified with
--force, PR #94). - Environment variable prefix unified to
FULLA_*(previously
OAUTH2_*, 903 occurrences; protocol class names such asOAuth2Plugin
are unchanged). - Infrastructure naming normalized: database/role
fulla_db/
fulla_user, container namesfulla-*, Redis key prefixfulla:cache:,
Prometheus metricsfulla_*(upgrading invalidates the whole cache at
once — expected one-time behavior). - Frontend branding: Fulla Admin / Fulla, package names
fulla-admin/
fulla-user. - Repository governance professionalized (PR #93): AI-tool workspaces
untracked, kiro design docs moved todocs/history/design/kiro-specs/,
.claude/is the single authoritative rules source.
Compatibility
- C++ SDK consumers: breaking (include paths, namespaces, and the CMake
package name all changed); migration is essentially one sed pass (mapping
table indocs/adr/rename-impact-fulla.md§3). - Existing JWTs / sessions / database schema: fully compatible (the
protocol surface carries no project name; table names and migrations are
unchanged). - The Python SDK package is renamed to
fulla-oauth2; the old
authforge-oauth2is discontinued.
Verification
Images are signed with cosign (keyless, GitHub OIDC):
cosign verify ghcr.io/voidvec/fulla-backend:1.0.0 \
--certificate-identity-regexp 'https://github.com/voidvec/fulla/.github/workflows/release.yml.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.comSPDX SBOMs for the three images and the source tree are attached,
as is the SDK tarball checksum:
sha256sum -c fulla-sdk-1.0.0-linux-x86_64.tar.gz.sha256