Skip to content

v0.20260729.0-rc.5

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 31 Jul 12:09

Release candidate: this build is for evaluation and compatibility testing.
It is unsigned and not production-ready.

C2Go Toolchain v0.20260729.0-rc.5 corrects the installed header ownership in
rc.4. Use rc.5 for new SDK evaluations.

简体中文 release notes

Changes from rc.4

  • c2go.h remains a compiler-owned Clang resource header at
    lib/clang/<version>/include/c2go.h; it is no longer copied into top-level
    include/.
  • Top-level include/ now contains exactly the tracked c2go-libc public C
    headers. Clang resource headers remain a separate, earlier search layer.
  • The c2go-clang installed-SDK detection follows that ownership boundary and is
    covered by the Clang Driver test suite.
  • Archive verification requires exactly one resource-tree c2go.h and rejects
    a top-level copy.
  • The packaged compiler remains named c2go-clang (c2go-clang.exe on
    Windows), and GitHub Release titles remain the bare coordinated version.

Installed SDK layout

c2go-toolchain-v0.20260729.0-rc.5-<target>/
├── bin/                         c2go-clang, c2go-lto, c2go-bind
├── include/                     c2go-libc public C headers
├── lib/clang/<version>/         Clang resources, including c2go.h
├── licenses/                    component and third-party license records
├── README.md
├── README.zh-CN.md
├── BUILD-INFO.json
├── toolchain.lock.json
└── LICENSE, NOTICE, ...

The platform SDK contains no repository checkout, test suite, build script, or
component source tree. Complete corresponding source is a separate asset.

Pin the matched Go runtime module:

go get github.com/c2gohq/c2go_libc@v0.20260729.0-rc.5

Locked snapshot

Item Version or revision
c2go-clang LLVM 22.1.7; 91b9fddbc5653fbbb321bfc22cb2d083cb96acc7
c2go-bind cd64a2d5b9e5c7ad68e702e2fea39dfd5a6da0ee
c2go-libc 3b54a25e78235b7ab75a31fd8bdaa0d3a4a5b27c
c2go musl fork a31facd31f63ac569a39f8796b7e5c1494892f1e (v1.2.6-56-ga31facd)
Supported Go line >= 1.25.0, < 1.26.0
Release builder Go 1.25.9
C2Go ABI epoch 1

Assets

  • c2go-toolchain-v0.20260729.0-rc.5-linux-amd64.tar.gz
  • c2go-toolchain-v0.20260729.0-rc.5-linux-arm64.tar.gz
  • c2go-toolchain-v0.20260729.0-rc.5-windows-amd64.zip
  • c2go-toolchain-v0.20260729.0-rc.5-macos-arm64.tar.gz
  • c2go-toolchain-v0.20260729.0-rc.5-source.tar.gz
  • one .sha256 sidecar per archive and the combined SHA256SUMS

All binaries are unsigned. The macOS archive is not notarized, and the Windows
archive does not carry an Authenticode signature.

Verify and start

Verify SHA256SUMS, extract the archive matching the host, and add its bin/
directory to PATH. For example:

export C2GO_HOME="$PWD/c2go-toolchain-v0.20260729.0-rc.5-linux-amd64"
export PATH="$C2GO_HOME/bin:$PATH"

c2go-clang --version
c2go-lto --version
c2go-bind --version

Read the English or Chinese README inside the archive for target triples and a
complete C-to-Go example.

Each native release job extracts its platform archive, verifies the exact tool,
header, layout, and license sets, parses every supported public header without
an extra -I, and executes the packaged C -> Plan 9 assembly -> Go package
pipeline before upload.

Known limitations and licensing

  • C only; C++ and 32-bit targets are not supported.
  • Go 1.25.x only; Windows has a smaller POSIX surface.
  • Interfaces and ABI details remain pre-1.0 and may change.
  • Signing, notarization, SBOM publication, and repository-wide legal review are
    not complete.

This aggregate contains multiple license boundaries. Preserve and review the
root and licenses/ records before use or redistribution. A commercial
agreement cannot relicense LLVM, musl, or other third-party code.