Skip to content

Releases: riyaneel/Tachyon

Tachyon v0.5.1

09 May 02:42
v0.5.1
bddcf0f

Choose a tag to compare

[v0.5.1] | 2026-05-09

Bug Fixes

  • 5dbf18c | cmake: Update module paths to use CMAKE_CURRENT_SOURCE_DIR

Documentation

  • 1bc2b99 | changelog: Update for v0.5.0

Chores

  • bddcf0f | version: Bump version to 0.5.1

Tachyon v0.5.0

05 May 19:04
v0.5.0
80d7ceb

Choose a tag to compare

[v0.5.0] | 2026-05-05

Features

  • aa9cd34 | node: Implement RpcBus and RpcRxGuard
  • f7db09e | node: Add TachyonRpcBusNode implementation for RPC bindings
  • 455e781 | csharp: Implement RpcBus class
  • 2033352 | csharp: Introduce RpcRxGuard for RPC slot management
  • 26767b7 | csharp: Add RPC bindings for Tachyon ABI functions
  • a2da4e4 | kotlin: Implement RpcBus for bidirectional RPC communication
  • c8ee521 | kotlin: Add RpcMessage class for handling inbound RPC messages
  • 41654e9 | java: Implement TachyonRpcBus
  • 522c8ce | java: Introduce RpcRxGuard for RPC slot management
  • be8fecc | java: Add RPC bindings for Tachyon ABI functions
  • 93d27de | fuzz: Add new corpus files for shm_attach fuzzing
  • ee09b83 | fuzz: Add new corpus files for arena_tx fuzzing
  • b30f1a5 | fuzz: Add new corpus files for arena_rpc fuzzing
  • b5b4ab8 | fuzz: Expand tachyon.dict
  • 7101b6b | fuzz: Add fuzz_shm_attach shm attachment fuzzing
  • ff15027 | fuzz: Add fuzz_arena_rpc for RPC fuzzing
  • 432800b | fuzz: Add new corpus seeds for arena and shm_attach fuzzing
  • 994632e | fuzz: Enhance and reorganize seed generation with expanded coverage
  • 68c809a | fuzz: Add new corpus files for arena_tx fuzzing
  • 0ab4e45 | fuzz: Expand tachyon.dict with additional entries for tx
  • 7d9b176 | fuzz: Add fuzz_arena_tx.cpp guard
  • 50c6991 | go: Add RPC API bindings for Go
  • 7c1fa24 | go: Include tachyon_rpc.cpp in Go bindings
  • cf54aaa | core: Add TACHYON_INLINE macro for future cross-platform inline support
  • e4c9607 | cpp: Add CMake build files for RPC example
  • 91f1bbc | rust: Add Rust bindings for RPC API
  • 96d82b2 | rust: Include tachyon_rpc in build.rs
  • f584112 | python: Expose RPC dispatcher in bindings
  • c0367ce | python: Add RPC dispatcher, endpoints, and decorator to Python bindings
  • f57875a | python: Expose low-level RPC bus and guards in Python bindings
  • 2775b75 | python: Add RpcBus class to Python bindings
  • 57227ba | python: Extend Python bindings with RPC transactional guards and bus
  • 017a87d | core: Add transactional RPC API methods
  • eab698f | core: Implement C API RPC bus functions
  • 31e66f1 | core: Implement RPC bus listen/connect methods
  • f59e134 | core: Define tachyon_rpc_bus structure
  • 43387e4 | core: Introduce RPC bus and methods in ABI interface
  • abedcb1 | core: Validate handshake flags in ABI checks
  • f1f5c6f | core: Add RPC support for UDS shared memory transport
  • b70c44f | core: Add RPC support with commit/acquire methods in Arena
  • c9c0815 | core: Expand TachyonHandshake with reverse fields and flags
  • 720082f | core: Add correlation_id field to MessageHeader and adjust padding
  • 0c0cfe7 | cmake: Add clang-aarch64 toolchain and presets

Bug Fixes

  • 97b3967 | core: Correct pointer arithmetic for payload calculation in Arena
  • 69cfe99 | test/csharp: Resolve macOS socket path length limit in RPC tests
  • ffd6d25 | arena: Validate alignment and capacity bounds to prevent out-of-bound access
  • c08185f | core: Correct TACHYON_INLINE macro to include inline keyword for gcc
  • 6cf97e8 | core: Include unistd.h in tachyon_rpc.cpp
  • 02b9d54 | core: Close file descriptor on shm join failure

Code Refactoring

  • 161d63e | fuzz: Rename fuzz targets
  • cd54a2d | go: Adjust formatting in bench_test.go
  • 54e4c24 | core: Move error mapping utilities to abi_utils.h for reuse
  • b304c5c | core: Remove TachyonPayload concept and related methods
  • 3c62a18 | core: Extract common tx flush logic to do_flush_tx

Build System

  • 68d6188 | node: Add Tachyon RPC source file to build conf
  • 46cfafe | fuzz: Add fuzz_arena_rpc target
  • 9b1f13d | fuzz: Add fuzz target for shm_attach
  • 1d3ce1b | fuzz: Add fuzz target for arena_tx
  • eed2456 | python: Add tachyon_rpc.cpp to Python bindings
  • 084b984 | test: Add test_rpc.cpp to tachyon_tests build
  • f07690a | core: Add tachyon_rpc.cpp to CMakeLists.txt

Continuous Integration

  • 33dfad6 | Remove unused TSan suppressions
  • 63183c6 | fuzz: Add regression tests for new fuzz targets
  • 7e60ee0 | release: Add matrix builds and artifact handling for Linux (x86_64, aarch64)
  • 08bc639 | Update job names to include arch details
  • 53704c9 | Add C++ aarch64 support to ci.yml

Tests

  • 54d5036 | node: Add integration tests for RpcBus and RpcRxGuard
  • 5b6a7de | csharp: Add unit tests for RpcBus
  • 610a46f | kotlin: Add unit tests for RpcBus
  • 12469aa | java: Add unit tests for TachyonRpcBus
  • b550070 | go: Add unit tests for RPC
  • 03fb341 | rust: Add unit tests for RpcBus and tx guards
  • c8cb60d | python: Add tests for RPC dispatcher handlers and error cases
  • a9f72ea | python: Add unit tests for RPC bus
  • 708be7f | core: Add unit tests for RPC bus

Documentation

  • 054dfe3 | integration: Adding RPC patterns and supervision to INTEGRATION.md
  • f78a3f9 | syscalls: Document RPC handshake
  • 7c08340 | abi: Add RPC wire semantics
  • 7d86225 | bindings: Update README with RpcBus category
  • 43cc867 | python: Add README for Python bindings
  • e6ec025 | go: Add GoDoc for RPC bus structs/func
  • bf01438 | fuzz: Update README with new targets
  • d78f68d | fuzz: Correct build and usage instructions in README.md
  • 35d390b | readme: Add RPC bench and details
  • e1a4214 | abi: Update documentation for 0x04 ABI bump
  • d34033b | migration: Add v0.5.0 migration guide
  • cce46d0 | changelog: Update for v0.4.2

Chores

  • 80d7ceb | version: Bump version to 0.5.0
  • 27d8787 | tsan: Remove unused TSan suppressions file
  • 03ad668 | gitignore: Rm python bindings README
  • f8e5b8f | gitignore: Add .private dir to gitignore entries
  • f566610 | gitignore: Add crash entry
  • 5249232 | abi: Bump TACHYON_VERSION to 0x04

examples

  • f936f25 | rpc: Add cpp cpp RPC example

Tachyon v0.4.2

26 Apr 12:41
v0.4.2
4c183f8

Choose a tag to compare

[v0.4.2] | 2026-04-26

Features

  • 44a50e7 | bindings/csharp: Add Bus class
  • 3ed7704 | bindings/csharp: Add RxBatchGuard struct for batch message handling
  • 2084535 | bindings/csharp: Add RxGuard struct for message read management
  • 253cc81 | bindings/csharp: Add TxGuard struct for transaction management
  • e081f22 | bindings/csharp: Add TypeId utility class
  • 24a5efa | bindings/csharp: Add TachyonException class
  • 23c4e92 | bindings/csharp: Update enums visibility
  • dcaede9 | bindings/csharp: Add P/Invoke bindings for native lib
  • 846c544 | bindings/csharp: Add native library loader
  • 84216e9 | devcontainer: Add devcontainer for C# bindings
  • 6a063d8 | ci: Add C# support to vendor script
  • 54a1adc | fuzz: Extend tachyon.dict with TypeId seeds
  • 38dd071 | fuzz: Add corpus seeds for header_parser and arena_rx
  • 7d1441a | ci/fuzz: Add TypeId-based seed generation
  • ff4efcf | ci: Add CodeQL analysis workflow
  • a8c1e58 | bindings/node: Add TypeId helpers for encoding/decoding type_id components
  • 6e0bbc4 | ci: Update dependency caching paths for Java, Kotlin, and Node bindings
  • eacd17c | ci: Add Go dependency caching in CI
  • f7cb6b1 | bindings/kotlin: Add TypeId helpers for encoding/decoding type_id components
  • e02deba | bindings/java: Add TypeId helpers for encoding/decoding type_id components
  • 406a15b | bindings/go: Add type_id encoding and decoding with tests
  • 29634ba | bindings/python: Add type_id helpers
  • d65d16c | bindings/rust: Add type_id encoding and tests
  • d638660 | core: Add macros for encoding and decoding type_id components
  • 2cdfe24 | core: Update TACHYON_VERSION and document type_id bit usage
  • 622316e | seccomp: Add BPF generators for full and hotpath filters

Bug Fixes

  • afa53fa | Adjust NuGet push command formatting in release.yml
  • f81cd3a | bindings/csharp: Update README path in project file
  • e131b31 | bindings/go: Disable AVX-512 support in cgo flags
  • 62e9ca5 | ci: Add missing count argument for tachyon crate in version bump
  • df47d8e | bindings/csharp: Prevent commit with zero batch count
  • 49db126 | bindings/csharp: Make TachyonMsgView struct public
  • b02d250 | ci: Remove redundant build deps
  • f898c44 | bindings/node: Remove redundant type assertion in batch iterator

Performance Improvements

  • df0b5c7 | arena: Remove rdtsc heartbeat in commit_rx_batch
  • e417a73 | arena: Align Arena attributes to avoid false sharing and remove rdtsc heartbeats

Code Refactoring

  • 02672fc | ci: Remove unnecessary Python README from version bump script
  • 266ada0 | Remove trailing whitespace in release.yml

Build System

  • 642b8e1 | seccomp: Add seccomp BPF generator support

Continuous Integration

  • 4372259 | workflows: Add missing permissions to workflows
  • 68a077c | codeql: Add support for development branch and custom build setups for C++, C#, and Java/Kotlin
  • 8548476 | release: Remove C# README from version bump script
  • 947b4b0 | codeql: Add C# analysis and update contents permissions
  • 8394b1e | release: Add script to bump version across bindings and docs
  • 26bdaf1 | release: Add C# build and publish
  • 13fc202 | Add csharp bindings test step to CI
  • b89a18b | Add C# build workflows

Tests

  • 059da15 | bindings/csharp: Add test suite for Bus/IPC
  • d815ca1 | bindings/python: Add tests for TypeId encoding
  • 200bd35 | core: Add test for TypeId split and compound encoding
  • 8b21c26 | bindings/kotlin: Add tests for TypeId
  • d4806b6 | bindings/java: Add unit tests for TypeId encoding
  • ffcac58 | go: Use t.TempDir() for UDS socket paths

Documentation

  • 19b5919 | SECURITY: Update supported versions
  • cf73fd1 | README: Update to include C# bindings and revised performance metrics
  • ea63315 | perf: Update latency and throughput metrics in README
  • 8f8bcb3 | Update perf data
  • da140ff | Document heartbeat granularity and limitations
  • 93d8561 | bindings/csharp: Add README for C# bindings
  • f9e6794 | bindings/csharp: Document Bus class
  • 8ce4adf | bindings/node: Document TypeId encoding in README
  • bba54fe | bindings/kotlin: Document TypeId in README
  • c35507e | bindings/java: Document TypeId encoding in README
  • dcd0459 | bindings/go: Document type_id encoding in README
  • aa51a7d | bindings/rust: Document type_id encoding in README
  • c6642b6 | core: Add migration guide for v0.4.0
  • 007e947 | INTEGRATION: Document type_id encoding
  • dab4022 | ABI: Update to handshake v0x03 and define type_id encoding
  • 0359afe | seccomp: Document syscall containment and seccomp filters
  • 5894e5d | seccomp: Add README for BPF allowlist generators
  • 9a981a2 | Add syscalls ref
  • 10ceefc | github: Add pull request template
  • ed5350b | github: Add issue templates for bugs, features, and questions
  • 15bb13c | Add SECURITY policy
  • 26f22fc | Add CONTRIBUTING guide
  • 95f89be | Add CODE_OF_CONDUCT
  • 1226f03 | changelog: Update for v0.3.5

Chores

  • 4c183f8 | version: Bump version to 0.4.2
  • 22512f6 | bindings/csharp: Update package metadata to use Apache-2.0
  • 4dd3bdc | bindings/csharp: Downgrade package version to 0.3.5
  • 88137ae | gitignore: Add all C# build dirs
  • e5b8d1a | bindings/csharp: Add initial C# project
  • 3f5f922 | gitignore: Add _core_local and build dirs for C# bindings
  • 8d86c00 | bindings/node: Add package-lock.json to VC
  • b7d9c83 | gitignore: Remove package-lock.json from .gitignore
  • 11036a5 | gitignore: Add BPF files

Tachyon v0.3.5

16 Apr 15:08
v0.3.5
aa9c6ca

Choose a tag to compare

[v0.3.5] | 2026-04-16

Features

  • 550c172 | ci: Add artifact signing and SLSA provenance generation
  • eb1021b | bindings/node: Add Prettier format check script to package.json
  • 5a93f42 | bindings/node: Add Prettier and ESLint with configuration for TypeScript
  • 4babcbf | bindings/node: Add Bus class
  • d7e7b63 | bindings/node: Add RxBatch class and RxMessage type for batch processing
  • 1a6811b | bindings/node: Add TxGuard and RxGuard for typed zero-copy buffer slots
  • 63021f9 | bindings/node: Introduce TypeScript error definitions for N-API boundary
  • dff1582 | bindings/node: Add native TachyonBusNode implementation wrapping Tachyon C API
  • 2c1d892 | bindings/kotlin: Add Bus class for IPC communication and flow-based message handling
  • 74468c3 | bindings/kotlin: Add Message class for typed IPC communication support
  • 36ba05c | java: Refactor RxBatchGuard to use sliced views for memory access
  • e4727d2 | java: Ensure memory segments are read-only in RxMsgView and RxGuard
  • a29b600 | java: Throw BufferFullException when bus buffer is full
  • bfdccd6 | java: Relocate classes to java.io.tachyon package for consistency
  • f90a70c | java: Add TachyonBus for managing bus lifecycle and operations
  • be68c08 | java: Refactor guards to ensure safe and confined memory access
  • d36ddf8 | java: Add RxBatchGuard for managing batch message lifecycles
  • 237c43b | java: Add RxGuard for managing read-only guarded resource lifecycles
  • 15a4bc5 | java: Add TxGuard for managing transaction lifecycles
  • cd60391 | java: Add RxMsgView for managing read-only message views
  • 10f657c | java: Add TachyonException and custom exceptions for error handling
  • ca7455c | java: Add MsgViewLayout for managing native message views
  • 157fe61 | java: Add TachyonABI utility for managing native method calls
  • 99b9459 | java: Add NativeLoader utility for loading native libraries
  • d13fd67 | java: Add JNI_OnLoad implementation for Java bindings
  • 157bbe7 | tachyon-top: Implement JSON export, polling, and interactive UI with dynamic update interval
  • 59cf7ae | tachyon-top: Optimize PID parsing in ProcScanner
  • 1f19ef2 | tachyon-top: Add UI components for rendering bus metrics and details
  • 3e726b0 | tachyon-top: Add BusView for visualizing bus state and metrics
  • 9728d14 | tachyon-top: Add ProcScanner for scanning processes and shared memory
  • 8a79d59 | Add initial tachyon-top CLI entry point
  • acf5e1a | rust: Add set_polling_mode to enable pure-spin mode in Rust bindings
  • 4ba1a47 | python: Add set_polling_mode to enable pure-spin mode in Python bindings

Bug Fixes

  • 2c97226 | ci: Stabilize publishing pipelines
  • a9af33c | bindings/java: Suppress removal warnings and handle TACHYON FATAL or EINTR errors in Rx logic
  • c1ba1e7 | cmake: Update TACHYON_MSAN_LIBCXX_DIR to use LLVM 21
  • 27fb65c | core: Add MFD_CLOEXEC flag to memfd_create for fd safety
  • 37439ca | ci: Correct syntax in LLVM install script
  • 9b815ca | core: Ensure socket file is unlinked after closure
  • 1e9fa0d | Update default build directory path in ci/bench/run.sh
  • f5e6811 | bindings/node: Correct NAPI_VERSION to match supported API version
  • aa3e926 | bindings/kotlin: Add connection retry logic and optimize batch message handling
  • 377f1aa | bindings/kotlin: Correct send method logic, improve send efficiency, adjust Flow spin threshold
  • 48f2974 | core: Validate TachyonBus capacity to ensure it is a power of two
  • c4e3a7c | tachyon-top: Handle empty process list in JSON output and adjust fatal error label formatting
  • 9d823b0 | tachyon-top: Correct sparkline data mapping in BusView
  • 1daabec | tachyon-top: Skip scanning self PID in ProcScanner
  • 7a3e988 | examples: Correct import paths in producer and consumer mains
  • c942986 | ping: Adjust table formatting for alignment consistency
  • 119d10a | arena: Remove redundant prefetch calls in arena operations
  • 7aea7d3 | cmake: Add MSan compile options for gtest and update test discovery mode
  • 3859933 | cmake: Update cache variable definitions and add PGO directory in presets
  • 6f76629 | cmake: Correct CXX compiler name in clang toolchain and add fallback linker message in gcc toolchain
  • 8e0f07b | cmake: Correct preset name formatting and update include path
  • 4a28498 | cmake: Fix linker check in clang toolchain configuration

Performance Improvements

  • 3a2bcfe | bindings/java: Add JMH benchmarks for TachyonBus
  • e61ffd6 | core: Remove atomic flags for locks, add likely/unlikely annotations to reduce branche misses
  • 5096b2a | examples: Enable polling mode in ping/pong mains
  • 7182154 | core: Add polling mode support in bus arena
  • d755f33 | arena: Add polling mode and refine consumer state handling
  • a49884c | arena: Move heartbeat updates inside batch condition
  • 9036714 | core: Align atomic flags to cache lines to reduce false sharing

Code Refactoring

  • 3a8a4fe | bindings/node: Replace worker threads with child process for tests
  • 627ee15 | ci: Add LLVM 21 support and env vars for Linux builds
  • 227653a | core: Cleanup unused code and improve type const correctness
  • d078c62 | bindings/node: Ensure slot state is properly checked before actions
  • 3fd39f5 | bindings/kotlin: Remove redundant yield in Bus logic
  • aa81855 | Replace em dash with hyphen for consistency
  • 1830b4a | ci: Enhance LLVM install script
  • 0d0951f | ci: Replace em dash
  • d001372 | workflows: Replace em dash with hyphen
  • 8787c09 | build: Replace em dash with hyphen in build messages and comments
  • 7d8bd51 | changelog: Enhance commit parsing and changelog generation
  • 113279b | bindings/node: Improve error handling and streamline assert_open logic
  • 2bbc39e | bindings/node: Update imports to use .ts extensions and adjust tsconfig
  • d67c694 | bindings/node: Update relative imports
  • 625e1fc | bindings/node: Apply public visibility modifier across classes and methods
  • ac7149c | bindings/node: Reformat code and simplify default member initializers
  • 463cc73 | bindings/java: Relocate package to dev.tachyon_ipc and update group ID
  • 20faa78 | tachyon-top: Streamline core namespace usage and improve const correctness
  • 4620b84 | tachyon-top: Optimize view management and buffer handling
  • 638ada1 | tachyon-top: Enhance BusView and ProcScanner with improved buffer management and resource safety
  • 9a00f07 | tachyon-top: Improve sparkline rendering scalability with dynamic canvas size
  • a5dfbbc | build: Rename LINK_OPTIONS to TACHYON_LINK_OPTIONS
  • cf8d381 | examples: Enable polling mode in consumer examples
  • 9cb22be | benchmark: Enable polling mode in Python and Go benchmarks
  • 164bbb5 | arena: Replace MessageHeader with PackedMeta in data copying
  • 750bcd4 | arena: Replace MessageHeader with PackedMeta for metadata handling

Build System

  • 5ce4851 | bindings/node: Include test folder in tsconfig and eslint config
  • c007283 | bindings/node: Migrate to ESM and replace ts-node
  • de53f04 | bindings/node: Update tsconfig with ESNext.Disposable lib and Node types
  • 083e9cb | bindings/node: Add TypeScript configuration and initial entry point
  • 419e94c | bindings/node: Migrate from GYP to cmake-js, update build tooling dependencies
  • afa0d91 | bindings/node: Add GYP build configuration
  • afc4ed7 | bindings/node: Add package.json for Node.js bindings
  • 9dbebe7 | bindings/node: Add CMake support for Node.js bindings
  • e912886 | bindings/kotlin: Add Gradle wrapper for version 8.11 setup
  • fee3417 | bindings/kotlin: Add initial Gradle setup and Maven publishing configuration
  • 88e85a0 | bindings/java: Upgrade Gradle to 8.11 and migrate to Vanniktech Maven Publish plugin
  • 258eaf2 | gradle: Configure JMH annotation processor and link compileJmhJava to jmh task
  • bd6516b | gradle: Add JUnit Platform Launcher dependency for enhanced test execution
  • 1beaff2 | gradle: Enable Java 21 preview features and update compiler, test, and Javadoc configurations
  • d0ce10d | gradle: Revert version and name in mvn publication
  • 047f701 | gradle: Add JMH benchmarks and Maven publishing
  • 41f948b | cmake: Replace Java JNI library with native resources packaging
  • ee7f31b | gradle: Add Gradle wrapper and configuration for Java bindings
  • 18cb608 | gradle: Add initial Gradle configuration for Java bindings
  • 52a7c06 | cmake: Add Java bindings support with JNI integration
  • bcd5f6a | cmake: Add tachyon-top-ci preset for CI builds with portable settings
  • 2adfaf9 | cmake: Add portable build option to disable -march=native for redistributable binaries
  • 17e68e3 | Add support for building tachyon-top CLI with FTXUI dependency
  • 2819436 | cmake: Set compile options for tachyon_python target
  • 07559c1 | cmake: Remove redundant find_package calls for benchmark and GTest
  • 40f9c5e | cmake: Enhance MSan setup with libc++ paths and validation
  • 0f2167c | Add script for building libc++ with MSan and update .gitignore
  • 2429f69 | cmake: Add debug presets for clang and gcc, update .gitignore
  • fb3cf2e | cmake: Replace inline compile options with tachyon_set_compile_options
  • 881cf07 | cmake: Include dependency module and improve sanitizer checks
  • 9eb47d2 | cmake: Include compile options module and remove unused debug flags
  • 976e4c4 | cmake: Fix preset name formatting and add top-level CMakePresets.json
  • ed5bf51 | cmake: Add MemorySaniti...
Read more

Tachyon v0.2.0

31 Mar 16:49
v0.2.0
0b7f18d

Choose a tag to compare

[v0.2.0] — 2026-03-31

feat

  • feat(core): add support for macOS shared memory using shm_open
  • feat(examples): add Go producer-consumer telemetry example
  • feat(benchmark): add comparison script and runtime utility for Tachyon benchmarking
  • feat(benchmark): add support for Intra-Process, Inter-Process, and ZeroMQ RTT benchmarking
  • feat(fuzz): add TOCTOU fuzzing corpus with diverse seed scenarios
  • feat(fuzz): add TOCTOU fuzzing target and update workflow with regression tests
  • feat(fuzz): add TOCTOU fuzzing target for message validation and arena handling
  • feat(core): add alignment checks and constants for message header validation
  • feat(bindings/go): add RxBatch and RxMsg for zero-copy message reads and batch processing
  • feat(bindings/go): add RxGuard for zero-copy shared memory reads and resource management
  • feat(bindings/go): add Bus abstraction for SPSC IPC with methods for message passing and resource management
  • feat(bindings/go): add TxGuard for transactional writes with shared memory rollback safety
  • feat(bindings/go): add error handling and mapping for Tachyon C errors
  • feat(bindings/go): add initial Go bindings with core vendoring script

fix

  • fix(examples): correct Go module path in go.mod
  • fix(test): improve type safety and enable CTest support
  • fix(python): ensure compatibility of compiler flags across platforms
  • fix(core): correct shm_open flag logic and update includes
  • fix(python): handle Clang version check for Apple-specific builds
  • fix(arena): adjust local_tail_ to account for skipped space

refactor

  • refactor(bindings/go): rename guard.go to tx_guard.go

ci

  • ci: add ASan workflow and update test directory paths
  • ci: add macOS workflows for all language bindings and C++ builds
  • ci(workflows): update paths for changelog and vendor scripts
  • ci(scripts): restructure and relocate scripts under ci folder
  • ci: remove branch restriction from push trigger for ci.yml
  • ci(release): add Go module tagging and publishing steps to release workflow
  • ci: add Go bindings CI with setup and testing steps

test

  • test(bindings/go): add benchmarks and unit tests for Bus and message passing features

docs

  • docs(adr): add README and architecture decision records for Tachyon
  • docs(examples): add README for Go producer-consumer telemetry example
  • docs(benchmark): add README with build, run, and comparison instructions
  • docs(ci): add README with usage instructions for CI scripts
  • docs(fuzz): update README with TOCTOU fuzzing details and usage instructions
  • docs(bindings/go): add README with usage, examples, and API refs
  • docs(changelog): update for v0.1.3

chore

  • chore(version): bump Tachyon core and bindings to v0.2.0
  • chore(deps): add google benchmark to Pipfile
  • chore(gitignore): add benchmark results to ignore list

Tachyon v0.1.3

25 Mar 12:34
v0.1.3
a4df61c

Choose a tag to compare

[v0.1.3] — 2026-03-25

feat

  • feat(bindings/python): expose TachyonBus in Python bindings
  • feat(core): add transaction rollback mechanism in Arena and tachyon_c

fix

  • fix(bindings/python): consolidate drain_batch return type
  • fix(core): correct typo in timeout retry comment
  • fix(bindings/python): update drain_batch return type to RxBatchGuard for stricter type safety
  • fix(bindings/python): add dealloc handler to TxGuard to ensure rollback on deletion
  • fix(bindings/rust): update rollback behavior and README with tachyon_rollback_tx
  • fix(bindings/python): reorder PeerDeadError definition for consistency across modules
  • fix(bindings/python): replace commit with rollback on guard initialization failure
  • fix(bindings): replace phantom commit with proper rollback mechanism in Python and Rust
  • fix(bindings/python): extend PeerDeadError and add buffer interface to _tachyon

refactor

  • refactor(bindings/python): rename count to s in drain_batch

docs

  • docs(readme): modify Python examples
  • docs(integration): reformat and expand IPC lifecycle and error handling sections
  • docs(changelog): update for v0.1.2

chore

  • chore(changelog): remove redundant entries for concise history

release

  • release(bindings): bump version to 0.1.3 for Python and Rust packages

Tachyon v0.1.2

25 Mar 01:44
v0.1.2
e57ac68

Choose a tag to compare

[v0.1.2] — 2026-03-25

fix

  • fix(bindings): add error handling for ABI mismatch in Python and Rust
  • fix(core): refine error mapping for ABI mismatch detection
  • fix(benchmark): add core availability check and improve pinning error handling
  • fix(core): correct branch prediction hint in tachyon_c.cpp

docs

  • docs(abi): update error codes from TACHYON_ERR_SYSTEM to TACHYON_ERR_ABI_MISMATCH
  • docs(changelog): update for v0.1.1

release

  • release(bindings): bump version to 0.1.2 for Python and Rust packages
  • release(bindings): bump version to 0.1.2 for Python and Rust packages

Tachyon v0.1.1

24 Mar 14:13
v0.1.1
cd0912b

Choose a tag to compare

[v0.1.1] — 2026-03-24

feat

  • feat(examples): add Python producer and Rust consumer example with shared memory communication
  • feat(examples): add C++ producer and Python consumer inference example with shared memory communication
  • feat(examples): add Rust producer and Python consumer inference example with shared memory communication
  • feat(examples): add C++ producer-consumer RTT benchmark with ping/pong
  • feat(python): add compiler version checks and clarify installation instructions

docs

  • docs(changelog): update for v0.1.1
  • docs(readme): expand documentation with use cases, architecture, and integration guide
  • docs(rust): add README files for tachyon-ipc and tachyon-sys crates
  • docs(changelog): update for v0.1.0

release

  • release(core): bump version to 0.1.1 for Python and Rust packages

Tachyon v0.1.0

24 Mar 08:45
v0.1.0
8c433fa

Choose a tag to compare

[v0.1.0] — 2026-03-24

feat

  • feat(python): add dlpack integration and update packaging configuration
  • feat(rust): rename crate to tachyon-ipc and support vendored builds
  • feat(rust): add vendoring script for Rust bindings and update .gitignore
  • feat(ci): add changelog generation script and workflow
  • feat(arena): add ThreadSanitizer annotations and suppression file
  • feat(build): add configurable sanitizer presets in CMake
  • feat(fuzz): extend tachyon dictionary with new fuzzing cases
  • feat(fuzz): add seed files for arena rx, arena rx batch, and header parser fuzz corpus
  • feat(fuzz): add script to generate fuzz seeds for header parser and arena rx
  • feat(fuzz): add arena rx, arena rx batch and header parser fuzz corpus with gitignore updates
  • feat(fuzz): add arena rx batch fuzz test and extend dictionary with new cases
  • feat(fuzz): implement header parser fuzz test leveraging arena-based memory
  • feat(bindings/python): add set_numa_node for NUMA binding on Linux
  • feat(fuzz): implement arena rx fuzz test and add dictionary for fuzzing
  • feat(build): improve PGO support with compiler-specific options, detection, and validation
  • feat(fuzz): add empty fuzz test files for header parser and arena rx
  • feat(build): add support for fuzz testing with libFuzzer integration
  • feat(bindings/rust): add NUMA node binding support for Bus on Linux
  • feat(bindings/python): add NUMA node binding support for TachyonBus on Linux
  • feat(core): add NUMA node binding support for tachyon_bus_t on Linux
  • feat(build): add support for PGO with setup script and CMake integration
  • feat(core): add madvise with MADV_DONTFORK for CoW safety on Linux
  • feat(bindings/rust): add ping-pong latency benchmark
  • feat(bindings/rust): optimize release profile and add target-specific Rust flags
  • feat(bindings/rust): add comprehensive tests for Bus functionality and message handling
  • feat(bindings/rust): implement Bus and TachyonError for Rust bindings
  • feat(bindings/rust): add layout tests for tachyon_msg_view_t in tachyon-sys
  • feat(bindings/rust): add tachyon-sys build script with CPP compilation and bindings generation
  • feat(bindings/rust): add tachyon crate
  • feat(bindings/rust): add initial Rust workspace with tachyon and tachyon-sys crates
  • feat(python): expose RxBatchGuard and RxMsgView in module interface
  • feat(python): add DLPack support to RxMsgView for improved interoperability
  • feat(python): add drain_batch method
  • feat(python): add drain_batch method and RxBatchGuard for efficient batch message processing
  • feat(python): add RxBatchGuard and RxMsgView to manage and process RX message batches
  • feat(python): handle TACHYON_ERR_INTERRUPTED in TachyonBus.listen and improve signal handling
  • feat(core): handle TransportError::Interrupted and improve socket polling logic
  • feat(core): add msg_alignment to handshake and memory layout for improved messaging guarantees
  • feat(core): add tachyon_drain_batch API and improve RX logic
  • feat(core): add consumer sleep state management and producer heartbeat support
  • feat(core): add RX batch APIs and improve RX handling
  • feat(core): add RX batch processing to improve performance and correctness
  • feat(core, bindings): introduce wait result handling and improve RX error management
  • feat(bindings): introduce PeerDeadError for liveness exception handling in Python bindings
  • feat(core): add state tracking and watchdog timeout for bus management
  • feat(core): add rdtsc utility for high-resolution timing on x86_64 and ARM architectures
  • feat(core): extract Unix Domain Socket transport to dedicated module
  • feat(core): introduce TachyonHandshake struct for standardized handshake protocol
  • feat(core): implement Apple locking with __ulock native API
  • feat(bindings): enhance packaging configuration for Python bindings
  • feat(bindings): add Python benchmark script for latency and throughput measurements
  • feat(bindings): add Bus and Message classes to Python bindings for IPC bus integration
  • feat(bindings): add spin threshold arg to acquire_rx in py binds
  • feat(bindings): implement buffer protocol support for TxGuard and RxGuard in Python bindings
  • feat(bindings): add TxGuard and RxGuard context managers to Python bindings
  • feat(bindings): expand Python C extension with TachyonBus object and API bindings
  • feat(bindings): add initial Python C extension module for bindings
  • feat(bindings): add Python bindings packaging
  • feat(bindings): add Python bindings build support via CMake
  • feat(core): add tachyon_memory_barrier_acquire for mem ordering guarantee
  • feat(core): add TAS-based producer/consumer locking to tachyon_bus for thread safety
  • feat(core): add reference counting to tachyon_bus
  • feat(core): add tachyon_pop_blocking C API support for blocking pop operations
  • feat(core): add cross-platform blocking pop support with consumer sleep/wake in Arena
  • feat(core): add C API implementation for shared memory message bus
  • feat(core): add type_id support and pop_spin method to Arena API
  • feat(core): add type_id support and pop_spin method to Arena API
  • feat(core): add TACHYON_API and cpu_relax utility for cross-platform compatibility
  • feat(core): add TachyonPayload concept and convenience methods to Arena
  • feat(shm): add error handling for fchmod in SharedMemory creation
  • feat(core): implement Arena class for SPSC queue in shared memory
  • feat(core): add SignalHandler for graceful termination handling
  • feat(core): add TACHYON_API macro for default symbol visibility
  • feat(core): expose SharedMemory via TACHYON_API and clean up includes
  • feat(core): introduce shared memory abstraction with create and join methods
  • feat(codebase): add initial benchmarking and testing entry points

fix

  • fix(ci): add --allow-dirty to cargo publish, pypi trusted publisher
  • fix: add Wno-builtin-macro-redefined for Clang 18
  • fix(arena): include missing syscall.h for Linux builds
  • fix(core): correct branch prediction hint in acquire_rx_batch
  • fix(core): correct branch prediction hint in acquire_rx_batch
  • fix(core): replace flush with flush_tx to prevent stale transactions in arena
  • fix(core): clarify caller responsibility in acquire_rx_batch docs
  • fix(core): correct branch prediction hint in acquire_rx_batch
  • fix(python): ensure transaction commits before raising memoryview errors in guards
  • fix(core): add comments addressing lost-wakeup window and defer dead-peer detection
  • fix(python): add dealloc methods and improve memory safety in RxGuard and RxBatchGuard
  • fix(core): ensure socket file is unlinked on error paths in UDS transport
  • fix(python): add missing dealloc methods for RxMsgView and RxBatchGuard
  • fix(python): extend RxBatchGuard_exit to handle exception arguments
  • fix(bindings): update PeerDeadError docstring and correct typo in BufferError message
  • fix(core): include missing <thread> header for std::this_thread::yield() usage
  • fix(bindings): raise BufferError when TxGuard buffer is already committed
  • fix(core): correct unlink call to use addr.sun_path in UDS transport
  • fix(core): handle bus cleanup on error paths in tachyon_c.cpp
  • fix(core): add safety check in Arena::commit_tx for reserved size overflow

refactor

  • refactor(bindings/python): remove triple alloc in ML hot path from RxMsgView._dlpack
  • refactor(python): simplify error handling and adjust transaction commit logic in buffer release
  • refactor(core): remove producer heartbeat checks and adjust watchdog timeout
  • refactor(core): simplify wait_consumer_sleeping return type and remove WaitResult
  • refactor(core): enforce alignas(64) for tachyon_bus and add alignment validation
  • refactor(core): align MessageHeader and add dynamic TACHYON_MSG_ALIGNMENT
  • refactor(core): replace noexcept with TACHYON_NOEXCEPT
  • refactor(bindings): delegate TxGuard and RxGuard to _tachyon module for improved maintainability
  • refactor(bindings): reorganize Python bindings, add high-level Bus and Message APIs
  • refactor(bindings): implement PEP 489 multiphase initialization in Python module
  • refactor(benchmark): switch to acquire/commit API
  • refactor(core): update tachyon_bus to use acquire/commit API and remove legacy push/pop methods
  • refactor(core): simplify Arena push/pop API, add acquire/commit methods, and improve reserved size tracking
  • refactor(core): align MessageHeader to 32 bytes
  • refactor(core): improve error handling and safety checks in Arena message bus
  • refactor(core): remove unused SignalHandler
  • refactor(core): replace reinterpret_cast with tachyon_start_lifetime_as utility and clean up includes
  • refactor(core): improve memory alignment and add skip marker support in Arena
  • refactor(core): simplify std::span initialization in Arena::try_push method
  • refactor(shm): replace shm_open with memfd_create and update join signature
  • refactor(shm): add release method and improve SharedMemory resource management

ci

  • ci(release): update release workflow with PyPI, crates.io, and GitHub releases
  • ci: add ThreadSanitizer workflow and refine sanitizer configurations
  • ci(fuzzer): add GitHub Actions workflow for fuzz regression testing

test

  • test(bindings/python): add PyTorch DLPack integration test and update dependencies
  • test(arena): add batch processing test for arena RX/TX handling
  • test(arena): adjust spatial difference test to account for TACHYON_MSG_ALIGNMENT
  • test(bindings): add unit tests for Bus standard and zero-copy APIs
  • test(core): refactor ArenaTest to use acquire/commit API and expand tests
    ...
Read more