From 291645d00fa400d17de2f850b1842f3ad5ff83c6 Mon Sep 17 00:00:00 2001 From: Andrey Kolkov Date: Tue, 21 Jul 2026 14:36:52 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20v0.6.1=20release=20prep=20=E2=80=94=20A?= =?UTF-8?q?ndroid=20preview,=20CODEOWNERS,=20changelog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add @besmpl as CODEOWNER for Android paths (*android* across ffi/, internal/dl/, internal/fakecgo/, internal/syscall/, docs, scripts) - CHANGELOG: v0.6.1 entry (Android ARM64, fakecgo cleanup, LICENSE/NOTICE) - README: add Android arm64 to platform table - ARCHITECTURE: add Android to platform support matrix - ROADMAP: add v0.6.1 milestone --- .github/CODEOWNERS | 9 +++++++++ CHANGELOG.md | 14 ++++++++++++++ README.md | 1 + ROADMAP.md | 8 +++++++- docs/ARCHITECTURE.md | 1 + 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c69844a..c4edd3b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -24,6 +24,15 @@ /internal/syscall/cgo.go @kolkov @jiyeyuran /ffi/callback_cthread_test.go @kolkov @jiyeyuran +# Android ARM64 Bionic - @besmpl maintains Android platform support +/ffi/*android* @kolkov @besmpl +/internal/dl/*android* @kolkov @besmpl +/internal/fakecgo/*android* @kolkov @besmpl +/internal/syscall/*android* @kolkov @besmpl +/docs/ANDROID.md @kolkov @besmpl +/scripts/check-android-arm64.sh @kolkov @besmpl +/testdata/android_abi_probe.c @kolkov @besmpl + # Examples - Reference implementations /examples/ @kolkov diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a8ebae..dcdac99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.6.1] - 2026-07-21 + +### Added +- **Android ARM64 Bionic support (guarded preview)** — Android arm64/API 29+ platform with Bionic loader, `__errno` routing, four-argument `_cgo_init` startup, TLS slot validation, and dual CGO mode support. Callbacks explicitly rejected pending physical-device thread proof. Cross-build, ABI, and ELF gates pass on NDK r29 with Go 1.25.12 and Go 1.26.5. ([PR #62](https://github.com/go-webgpu/goffi/pull/62) by [@besmpl](https://github.com/besmpl)) +- **Android CI matrix** — NDK r29 cross-build and ELF dependency audits for Go 1.25.12 + Go 1.26.5 in both CGO modes +- **`docs/ANDROID.md`** — runtime ABI contract, NDK probe, callback limitation, and build instructions +- **@besmpl added as CODEOWNER** for Android paths (`*android*` across `ffi/`, `internal/dl/`, `internal/fakecgo/`, `internal/syscall/`) + +### Changed +- **fakecgo naming cleanup** — all `purego_` dynamic import symbols renamed to `goffi_` across `internal/fakecgo/` (18 files). Dual copyright attribution: Ebitengine Authors + Andrey Kolkov and GoGPU Contributors. ([PR #63](https://github.com/go-webgpu/goffi/pull/63)) +- **LICENSE** updated to `Andrey Kolkov and GoGPU Contributors` (matching gogpu ecosystem pattern) +- **NOTICE** file added documenting Apache-2.0 heritage of fakecgo from ebitengine/purego +- Platform count: 8 desktop targets + Android ARM64 preview (9 total) + ## [0.6.0] - 2026-07-12 ### Added diff --git a/README.md b/README.md index c366b9f..7ac1299 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,7 @@ if err != nil { | macOS | arm64 | AAPCS64 | v0.3.7 | Tested (M3 Pro) | | FreeBSD | amd64 | System V | v0.5.0 | Cross-compile verified | | FreeBSD | arm64 | AAPCS64 | v0.5.3 | Cross-compile verified | +| Android | arm64 | AAPCS64 (Bionic) | v0.6.1 | Guarded preview (API 29+) | --- diff --git a/ROADMAP.md b/ROADMAP.md index 6cf9faa..b31ce54 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -3,7 +3,7 @@ > **Strategic Approach**: Build production-ready Zero-CGO FFI with benchmarked performance > **Philosophy**: Performance first, usability second, platform coverage third -**Last Updated**: 2026-07-12 | **Current Version**: v0.6.0 | **Strategy**: Benchmarks → Callbacks → ARM64 → Runtime → ABI → v1.0 LTS | **Milestone**: v0.6.0 (errno + stack-move fix) → v0.7.0 RegisterFunc/Builder → v1.0.0 LTS +**Last Updated**: 2026-07-21 | **Current Version**: v0.6.1 | **Strategy**: Benchmarks → Callbacks → ARM64 → Runtime → ABI → v1.0 LTS | **Milestone**: v0.6.1 (Android preview + fakecgo cleanup) → v0.7.0 RegisterFunc/Builder → v1.0.0 LTS --- @@ -161,6 +161,12 @@ v1.0.0 LTS → Long-term support release (2027 Q1) - Assembly-level capture inside trampoline (thread-safe window) - Platform support: `__errno_location` (Linux), `__error` (macOS/FreeBSD) +**v0.6.1** = Android ARM64 + fakecgo cleanup ✅ RELEASED (2026-07-21) +- **Android ARM64 Bionic** (guarded preview) — PR #62 by @besmpl +- fakecgo `purego_` → `goffi_` rename + dual copyright — PR #63 +- LICENSE + NOTICE updated to GoGPU ecosystem pattern +- @besmpl added as CODEOWNER for Android paths + **v0.7.0** = RegisterFunc + Builder API (2026 Q3-Q4) - RegisterFunc convenience API (ADR-008) - Library struct + OpenLibraryBytes (ADR-009) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index a48bfdf..af86ab0 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -409,6 +409,7 @@ go run github.com/go-webgpu/goffi/cmd/variadic-test | **FreeBSD** | AMD64 | System V | Cross-compile verified | | **FreeBSD** | ARM64 | AAPCS64 | Cross-compile verified | | **Linux** | ARM64 | AAPCS64 | Production | +| **Android** | ARM64 | AAPCS64 (Bionic) | Guarded preview (API 29+, NDK r29) | ---