All Sonny releases

Sonny 0.3.6

Published . Source commit b29253d885708f85aa38975ad7e6ad91dcd9ebc0.

Download release JSON for this version's installer URLs, byte sizes and SHA-256 hashes.

Downloads and verification

This is an archived release. Its download links require GitLab project access. File hashes and sizes were checked against the release checksum manifest and package metadata; anonymous availability and signature verification are not claimed.

This release had no attached downloads. These files were recovered from its versioned package registry; their upload pipelines match the release tag and source commit. Download links address individual package files and require GitLab access.

Choose the artifact for your operating system and architecture. Links marked “GitLab access required” need access to the Sonny release project. Public installers and archives use the same download host as the release notifications.

SHA-256 checksums (GitLab access required) · No checksum signature bundle was attached to this historical release. A matching hash checks file integrity. Verify the signature before relying on publisher identity; this page's metadata importer does not perform that verification.

  • sonny-api_0.3.6_linux_amd64.tar.gz

    archive · linux / amd64 · 10989097 bytes · GitLab access required
    SHA-256: f378822b967649c8c4ff7b81d1846260226040516740d75594ff727ff58f8f60

  • sonny-api_0.3.6_linux_arm64.tar.gz

    archive · linux / arm64 · 9996200 bytes · GitLab access required
    SHA-256: 0c6b27bda6d6482bf900b7a211c36346a8e3fae49b1266f767c7667e43538b67

  • sonny_0.3.6_darwin_amd64.tar.gz

    archive · darwin / amd64 · 19065756 bytes · GitLab access required
    SHA-256: 8f0df87571d3969e00c9f64c75cf42b0c003527432f9ba58c266ecb5f257f0a8

  • sonny_0.3.6_darwin_arm64.tar.gz

    archive · darwin / arm64 · 17950903 bytes · GitLab access required
    SHA-256: bbbbd53a5add4f523c3a4a422ac9896377a379f751a85d465c06cb2b4f70c210

  • sonny_0.3.6_linux_amd64.apk

    installer · linux / amd64 · 30874485 bytes · GitLab access required
    SHA-256: 21ca970201bc67a98113d59abf35bf7d12b2b9c2fa417332015fb50f37682855

  • sonny_0.3.6_linux_amd64.deb

    installer · linux / amd64 · 29596636 bytes · GitLab access required
    SHA-256: 4a8cd6553b7fc6858914ec5adf0d7d77978afa569234cfba9e57c3bfe64819bd

  • sonny_0.3.6_linux_amd64.rpm

    installer · linux / amd64 · 29556824 bytes · GitLab access required
    SHA-256: d4df484246fc85d2eedd7ec1bd11bd87e11808e14a6e263b40865a323657f47a

  • sonny_0.3.6_linux_amd64.tar.gz

    archive · linux / amd64 · 18624838 bytes · GitLab access required
    SHA-256: 3b89cab355feeef39832ca4aa7be88a16cd03b68e16da6e99c896c0701ecc3c1

  • sonny_0.3.6_linux_arm64.apk

    installer · linux / arm64 · 28029634 bytes · GitLab access required
    SHA-256: 0fcfca1678673fe2ccba46898b712ee1731c5a77612fd9d6895cd8bd9c53e245

  • sonny_0.3.6_linux_arm64.deb

    installer · linux / arm64 · 27061738 bytes · GitLab access required
    SHA-256: 6f66ae70ac6fdabc0936d0a92bca165382c99fb88b7b142132de42b96c983353

  • sonny_0.3.6_linux_arm64.rpm

    installer · linux / arm64 · 26967682 bytes · GitLab access required
    SHA-256: 597285d7f1d0fee0076d5dd251cd13dabeabac26b30d9d9f5f7e7c10993ec53c

  • sonny_0.3.6_linux_arm64.tar.gz

    archive · linux / arm64 · 17081634 bytes · GitLab access required
    SHA-256: b0aad59b22c06d26f6ce4ab639799558cc3e5c38d13d9fa4d6c4a6fe7ebb87bc

  • checksums.txt

    checksums · 1156 bytes · GitLab access required
    SHA-256: 504916b2b68b86d27fba0fcc974c7f9528d414e45b1acc056987242cd240e68f

Release notes

v0.3.6 — CI heal: PAM build tag + SAST allow_failure + client mTLS flags

This release picks up where v0.3.5’s tag pipeline failed: the shipped binaries from v0.3.5 never made it to apt.spyder.org because the mesh/identity/pam cgo path needs <security/pam_appl.h>, which the golang:1.26 and golangci-lint:v2.11.3 CI containers don’t have. v0.3.6 fixes that without losing the PAM feature.

Changes since v0.3.5:

  • fix(mesh): cli mesh serve missed new Config defaults; harden systemd unit. runMeshServeWithContext now starts from node.DefaultConfig() so the sub-projects #1/#2/#6 fields (TrustDomain, SvcPrincipalDir, AuthzPolicyPath, …) get their documented defaults; without this, –enable-tls failed with “trust domain: trust domain is missing”.

  • feat(mesh): client mTLS flags on sonny mesh subcommands. Five new persistent flags on the mesh parent (–client-cert, –client-key, –client-ca, –client-key-pin, –server-name) plus meshconn.ConnectWithCreds + TLSConfig. Verified end-to-end on lothiriel: server with self-signed SPIFFE cert + client with –client-* flags → mesh nodes RPC returns the live node list through the full mTLS + identity-extraction + authz interceptor chain.

  • fix(ci): gate PAM cgo behind pam build tag. CI containers lack libpam-dev; default go test ./... was failing to build pam_cgo.go and cascading build failures into mesh/node, mesh/bridge, mesh/mtls test compile, mesh/privsep test compile. pam_cgo.go now requires cgo && pam; pam_stub.go binds when !cgo || !pam. Default test runs use the stub. Production builds enable -tags pam (post-v1 wiring).

  • fix(ci): allow_failure on gitlab-advanced-sast. The GitLab bundled SAST analyzer silently produces no gl-sast-report.json, failing the upload step. semgrep + gosec + govulncheck + dependency-scanning still gate the pipeline.

  • style(cli/mesh): apply gofumpt to satisfy CI go-lint.

Verified: pipeline #210 GREEN (24min, all blocking jobs pass).