Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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+) |

---

Expand Down
8 changes: 7 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

---

Expand Down Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) |

---

Expand Down
Loading