• v0.24.1-0.20260801100714-de6af07303e0 de6af07303

    pre-release v0.24.1-0.20260801100714-de6af07303e0
    All checks were successful
    nagonag (Push) / nagonag (push) Successful in 3m18s
    Pre-release

    heiko released this 2026-08-01 12:08:54 +02:00 | 0 commits to master since this release

    Downloads
  • v0.24.0 c2b5874fea

    release v0.24.0
    Some checks failed
    nagonag (Push) / nagonag (push) Failing after 4m48s
    Stable

    heiko released this 2026-08-01 11:53:10 +02:00 | 2 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F

    Release notes

    Release v0.24.0

    • feat(pack): add lifecycle scripts and permissions ai:gpt-5.6-sol

    Packages: gogogo 0.24.0-1

    Downloads
  • v0.23.0 42e5ec70a1

    release v0.23.0
    Some checks failed
    nagonag (Push) / nagonag (push) Failing after 4m47s
    Stable

    heiko released this 2026-07-23 14:24:18 +02:00 | 3 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F

    Release notes

    Release v0.23.0

    • gogogo: package (deb) to forgejo and apt.schlittermann.de
    • feat(doctor): add artifact-centric upload plan ai:claude-opus-4.6
    • refactor(config): share module-name and go.mod helpers ai:claude-opus-4.6

    Packages: gogogo 0.23.0-1

    Downloads
  • v0.22.0 e2b20b3f0f

    release v0.22.0
    Some checks failed
    nagonag (Push) / nagonag (push) Failing after 4m25s
    Stable

    heiko released this 2026-07-22 17:34:29 +02:00 | 6 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F

    Release notes

    Release v0.22.0

    • docs: consolidate agent guidance ai:chatgpt
    • fix(release): derive branch versions from clone ai:chatgpt
    • feat(pack): add dedicated package file classes ai:terra
    • docs: add gogogo(1), gogogo.conf(5), gogogo(7) manual pages ai:claude-sonnet-4-5
    • apiclient: retry idempotent requests on transient network errors
    • release: detect SPDX license from any *.go file, not just root main.go/doc.go
    • cli: print basename, not full path, in --verbose startup line
    • tag: isolate TestResolveSign from developer's global git config
    • go: update version
    • Merge remote-tracking branch 'origin/nagonag/update-master'
    • deps(master): update minor/patch dependencies
    • remove nagonag artifacts
    • update dependencies
    • remove nagonag artifacts
    • deps(master): update minor/patch dependencies
    • build: reject unknown strip levels instead of silent default
    • release: fail loudly when packaging enabled but no linux target
    • release: resolve debsign key by email, fall back to committer
    • Fix source packaging for module subdirs
    • fix: --version
    • lint: errcheck
    • lint: whitespace
    • chg: version output
    • feat(cli): print version from build info
    • fix(dupload): format Binary header for reprepro
    • fix(dupload): list all binaries in .changes
    • Fix Debian package description
    • Merge branch 'fix/67-packages-binaries-accept-full-path' into dev
    • fix(release): preserve source permissions when copying blobs to outdir ai:claude-sonnet-4-6
    • test(config): cover YAML unmarshal normalization of full binary paths ai:claude-sonnet-4-6
    • feat: XDG cache staging dir, checksum dedup, payload purge for dupload ai:claude-sonnet-4-6
    • fix: consistent Source: field across .changes and binary .deb control ai:claude-sonnet-4-6
    • docs: add IUS integration test procedure to CLAUDE.md ai:claude-sonnet-4-6
    • feat: correct module basename and add name-override config ai:claude-sonnet-4-6
    • fix: resolve config paths from .gogogo.conf dir, fail loudly on packaging errors ai:claude-sonnet-4-6
    • build: skip proxy verification when GOPRIVATE is set ai:claude-sonnet-4-6
    • ai: slight improvements
    • Merge pull request 'fix(config): accept full Go package paths in packages[*].binaries ai:claude-sonnet-4-6' (#68) from fix/67-packages-binaries-accept-full-path into master
    • Merge pull request '[nagonag] update dependencies (master)' (#64) from nagonag/update-master into master
    • deps(master): update minor/patch dependencies
    • Merge pull request 'publish: warn before build when --replace finds no existing release ai:claude-sonnet-4-6' (#66) from dev into master
    • test: remove dead-weight temp dir from TestWarnIfNothingToReplace_WarnsWhenNoRelease ai:claude-sonnet-4-6
    • fix(config): accept full Go package paths in packages[*].binaries ai:claude-sonnet-4-6
    • publish: warn before build when --replace finds no existing release ai:claude-sonnet-4-6
    • docs: add focused dual-destination dupload + Forgejo example
    • docs: expand dupload section and add minimal config example
    • cicd: new workflow
    • ci: add codex instructions
    • Merge pull request 'publish: revision tracking, --replace semantics, signed receipt tags' (#63) from dev into master
    • fsutil: document why Copy preserves source permissions instead of respecting umask
    • internal/fsutil: consolidate three near-identical copyFile implementations
    • simplify(dupload): drop redundant HasPrefix in parseRevisionedDebAsset
    • fix(prune): cover multi-package configs by extracting package name from the filename
    • fix(publish): --dry-run must not build or upload on the publish stage
    • fix(dupload): guard against self-copy when uploadDirOverride points at the source
    • publish: simplify pass on the post-checkpoint work
    • publish: revision tracking, --replace semantics, signed receipt tags
    • fix(deb): join all distributions in .changes instead of using only first Closes #61
    • config,pack: support per-package description in deb/rpm blocks
    • docs: update README — accuracy, conciseness, ToC
    • Merge branch 'master' into dev
    • config: migrate output mirrors default.yml comments, literals, and examples (#60)
    • Merge worktree-signing: pass git signing key to gpg
    • sign: pass git signing key to gpg via --local-user
    • config: simplify review — remove seen map, fix double calls, security comment
    • config: fix release.branch double-comment and scripts indent alignment
    • config: fix pre-existing wsl_v5 lint issues in packages_test.go
    • config: migrate output mirrors default.yml comments, literals, and examples
    • ai: remove claude skills
    • Multi-package Debian/RPM: schema + scaffolders + user-template rendering (#56)
    • Merge dev: upload progress polish (registry, dupload, width)
    • progress: suppress inline bar when TTY too narrow
    • release: show for empty dupload host in progress line
    • forgejo,apiclient,publish: route package-registry uploads through progress bar
    • forgejo,progress: bump concurrent uploads to 3, test every row gets a bar
    • Merge pull request 'Release pipeline: sign, config rename, packaging fixes, doctor output, dupload' (#54) from dev into master
    • pack/deb: document mtime fallback; test debian/ overlay end-to-end
    • docs: refresh CLAUDE.md after progress + CLI changes
    • docs: clarify wsl_v5 cuddling rule
    • progress: add coloured inline mini-bar to upload progress lines
    • lint: fix all golangci-lint issues before PR
    • dupload: fix Architecture field in .changes when source files are present
    • cli: drop release command alias in favour of publish
    • pack/deb: overlay debian/ dir files into binary and source packages
    • doctor,git: warn when working tree has uncommitted changes
    • config,doctor,dupload: clarify publish-route comments; show host in doctor/verbose output
    • doctor: drop group separators (blank lines between sections)
    • docs: update CLAUDE.md — blob/releases/dupload, doctor output structure, fj CLI
    • doctor: add tests for output structure and group ordering
    • doctor: restructure output — repo/license, config/git/go, tools
    • doctor: reorder checks — repo, license, tools
    • release, dupload: wire Publish.Blob and conditional --to for dupload
    • config: rename blobs→blob, add releases/dupload built-ins, relax dupload host
    • config: rename built-in destinations repo_release→release, repo_packages→packages
    • sign: show signing key identity in verbose output
    • fix: lintian: syntax-error-in-debian-changelog
    • fix: lintian: bad package file name (source tarball passed to lintian)
    • fix: lintian: wrong-name-for-changelog-of-native-package
    • fix: lintian: changelog-not-compressed-with-max-compression
    • fix: lintian: package-contains-ancient-file 1970-01-01
    • fix: lintian: copyright-file-contains-full-apache-2-license
    • release: drop redundant filepath.Clean on already-clean join result
    • release: pack always repacks; guard copyAssetsToOutdir against same-path copy
    • config: unify bool-accessor naming to Is-prefix; reorder doctor checks
    • sign: typed SignMode enum, filter-first ordering, HasSuffix cleanup
    • sign: bool flag, auto-detect by default, publish guard
    • sign: use .sig extension, --sign=auto|true|false flag
    • Remove REFACTOR.md: refactor complete
    • Merge branch 'refactor'
    • Update docs: replace stale modver reference with internal/version
    • Mark E-series as complete in REFACTOR.md
    • Inject version/commit into Debian and RPM source packages via -ldflags
    • Add internal/version: self-versioning with ldflags fallback
    • Remove internal/modver: use golang.org/x/mod/module directly
    • Preserve Destination.Type in dupload state for forward compatibility
    • Fix double-copy corruption: skip outdir copy in publish mode
    • Fix errcheck lint on tmp.Close() in builder
    • Update GEMINI.md package references
    • Fix doctor tests: mock lintian in LookPath when deb is enabled
    • Add unit tests for stage package and resume paths
    • Code quality: fix doctor exec, dead code, stale comments
    • Harden pipeline state: fsync, StagePack persistence, dupload state, case-insensitive SHA
    • Fix runtime bugs: RunTest filter, forgejo error format, goroutine/FD leaks
    • Update CLAUDE.md to reflect B/C-series refactor
    • Add REFACTOR.md: pipeline refactor plan with E-series implementation detail
    • B-series: simplify state write, artifact check, and helper placement
    • B-series: fix resume for branch builds; schema validation; SHA resolution
    • B-series: simplify resume path — store BuildEntry in state, remove parseBlobName
    • B-series: pipeline state, implicit stage chaining, --keep-tmp
    • C-series: rename builder→build, packager→pack, repo→publish
    • Pipeline A-series: --out required, outdir doctor, GPG signing, deb doc files
    • Merge branch 'sign-then-upload'
    • Add lintian integration into pack/release workflow
    • dupload: sign before upload; per-destination staging; auto-detect maintainer
    • Squashed commit of the following:
    • Fix: meaningful error when PostRelease returns 409 Conflict (closes #47)
    • Fix package version to match binary buildinfo
    • Make no-network a global flag
    • Add staged build pack publish commands
    • Use toolchain version for packaging
    • Merge branch 'dev'
    • Fix Debian section validation
    • Fix schema validation: reject zero-value ints and remove redundant reflection
    • Merge pull request 'Add data-driven config validation via embedded schema' (#50) from feature/schema-validation into dev
    • Add data-driven config validation via embedded schema
    • Add build.strip validation to config checker
    • Merge branch 'master' into dev
    • Validate gogogo config values
    • Merge remote-tracking branch 'origin/master' into dev
    • Fix review findings for build.strip feature
    • Add build.strip config option for binary stripping
    • doc: change
    • Shorten verbose startup version output
    • Merge branch 'dev' (re-factor build|artifacts|publish)
    • Fix go vet violation and add early-return guard
    • Refactor publish pipeline and consolidate helpers
    • Document pipeline config
    • Add dupload publish destination
    • Route publish destinations
    • Use artifact config for packaging
    • Add config migration command
    • Derive repo config from git remote
    • Add pipeline config schema

    Packages: gogogo 0.22.0-1

    Downloads
  • v0.21.1 62764e4a54

    heiko released this 2026-05-13 10:55:19 +02:00 | 169 commits to master since this release

    Release notes

    Release v0.21.1

    • Merge branch 'dev'
    • Require release branch for tag creation
    • Rename set-tag command to tag

    Packages: gogogo 0.21.1

    Downloads
  • v0.20.0 10d013d64f

    heiko released this 2026-05-13 00:02:02 +02:00 | 175 commits to master since this release


    Packages: gogogo 0.20.0

    Downloads
  • v0.17.3 1b5b604c77

    heiko released this 2026-05-12 11:05:57 +02:00 | 227 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F

    Packages: Debian registry

    Downloads
  • v0.17.1 0920bd9a4f

    heiko released this 2026-05-06 16:25:15 +02:00 | 229 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F
    Downloads
  • v0.17.0 50633b1c04

    heiko released this 2026-05-06 15:32:49 +02:00 | 230 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F
    Downloads
  • v0.16.0 ef55025587

    heiko released this 2026-05-06 12:18:56 +02:00 | 232 commits to master since this release

    Signed by heiko
    GPG key ID: 697F0EDD68099F6F
    Downloads