Skip to content

Releases: eugenioenko/goalchemy

Goalchemy 0.2.1

Choose a tag to compare

@eugenioenko eugenioenko released this 04 Oct 00:25
v0.2.1
de26e4a

Goalchemy 0.2.1 reduces redundant Python buffer copies while preserving owned inputs and results.

  • Reuse immutable library byte inputs and snapshot mutable queued inputs at submission.
  • Use bounded memoryviews at native crypto and output boundaries; avoid intermediate bytearray slices.
  • Preserve overlap-safe slice copy/append and add queued-input, typed/strided view and ownership regressions.
  • Refresh generated Python specification hashes to match the runtime implementation.

The paired OpenTDF SDK changes also reuse validated archives. Fresh combined SDK benchmarks show Python 50 MiB E2E time reduced by 35.3%; that result includes both SDK and compiler changes and does not isolate this release alone.

Goalchemy remains experimental and compiles a restricted Go subset. This is a patch release; supported targets and native dependencies are unchanged.

Goalchemy 0.2.0

Choose a tag to compare

@eugenioenko eugenioenko released this 03 Oct 20:15
v0.2.0
90b1a01

Goalchemy 0.2.0 expands the compiler and runtime support needed for native, interoperable SDKs across Go, TypeScript, Java, C#, Python, Rust, and C.

  • Native byte storage and owned-value library exports across all seven targets.
  • Host I/O, cancellation, and native HTTP/crypto capabilities for generated libraries.
  • Source libraries for strings, bytes, sorting, Unicode/UTF-8, encoding, and conversion.
  • IEEE CRC32 using host libraries in Go, Node, Java, Python, and C#, plus pinned crc32fast in Rust. Browser TypeScript and C retain portable implementations.
  • Updated pipeline, JWT, and fetch examples, including correct host entry initialization.

Goalchemy remains experimental and compiles a restricted Go subset. Target dependencies and supported execution environments are documented in the repository.

Release checks: installed-compiler integration, compiler version and emitted manifest version, capability catalog validation, generated-source freshness, and focused Go vet all pass. The CRC32 implementation also passed its seven-target CI before merge.

Goalchemy v0.1.0

Choose a tag to compare

@eugenioenko eugenioenko released this 01 Oct 19:41
9ab3baa

Goalchemy v0.1.0

Targets: Go, TypeScript, Python, Java, C#, Rust, and C.

Known limits: C library exports accept only integers, bool, and strings; exports cannot suspend and must be called from one host thread. Hosts must copy returned strings before dropping references. On non-Go targets, byte slices use boxed integers and can be slow for bulk data.