Skip to content

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 22:27
· 315 commits to main since this release
3eccd97

Hologram v0.7.0

Installation

Via Git Dependency

Add to your Cargo.toml:

[dependencies]
# Depend on the specific crates you need (all share one version):
hologram-compiler = { git = "https://github.com/Hologram-Technologies/hologram", tag = "v0.7.0" }
hologram-exec     = { git = "https://github.com/Hologram-Technologies/hologram", tag = "v0.7.0" }
hologram-backend  = { git = "https://github.com/Hologram-Technologies/hologram", tag = "v0.7.0" }

CLI Binary

Download the appropriate binary for your platform from the assets below and add it to your PATH.

Changes

Commits since v0.6.1

  • Merge pull request #34: v0.7.0 — browser decode residual + weight-tier pager (3eccd97)
  • perf(exec): skip the lazy-tier probe when no weights are paged (e980a82)
  • ci: harden remaining apt steps against the flaky runner sources (8f5b43f)
  • ci: drop flaky third-party apt sources before cross-toolchain install (770364a)
  • chore(release): bump internal @hologram/sdk dependency pins to 0.7.0 (c2153e4)
  • chore(release): bump workspace + SDK versions to 0.7.0 (56a2992)
  • feat(exec,archive): lazy constant residency — the weight-tier pager (647f2e9)
  • perf(backend): AVX2 x86_64 lanes for the decode kernels (no scalar fallback) (7a2577b)
  • refactor(backend): generalize the wasm GEMV activation scratch name (5844a24)
  • perf(backend,compiler): LUT-tier packed-i4 W4A8 decode GEMV (plan 077 item 6) (fc6738e)
  • perf(backend): embedder-provided wasm worker pool for decode GEMV (f0d532b)
  • docs(specs): scope plan 077 phases 4-5 (wasm threads, Q0/LUT-GEMM port) (e85e7f5)
  • perf(backend): deterministic vectorized exp for the decode softmax path (bfcaad2)
  • perf(exec,archive): mint boundary addresses address-only in the walk (f36edd2)
  • perf(exec,backend): fuse the decode projection epilogue into MatMulDequant (a206061)
  • perf(exec): fuse dequant->matmul before the matmul epilogue (60e85ec)
  • perf(backend): relaxed-SIMD tier for the W8A8 decode GEMV (exact i8 dot) (1a3f70f)
  • docs(specs): plan 077 decode-residual roadmap, Sprint 39, decode GEMV numbers (f849be9)
  • bench: decode-shaped int8 GEMV benches (bytes-streamed/s) + wasmtime lane (79e8106)
  • perf(backend,compiler): output-major W8A8 int8 GEMV for browser decode (0f8c0d4)
  • Merge pull request #33 from Hologram-Technologies/fused-int8 (a912335)
  • chore: update public-API snapshot for matmul_i8_per_channel (7fc2e39)
  • perf(backend): fused per-channel int8 matmul for decode (NEON + wasm SIMD128) (3c0ea1e)
  • Merge pull request #32 from Hologram-Technologies/worktree-llm-inference-speed (a1a977f)
  • style: rustfmt kernels; register decode bench; add wasm timing harness (21faa4e)
  • perf(backend): vectorize small-M / GEMV remainder for single-token decode (ebaedd9)
  • perf(backend): NEON + wasm SIMD128 register-blocked f32 matmul on aarch64/wasm (0b7ac3d)
  • Merge pull request #29 from Hologram-Technologies/codex/root-facade-features (a03568d)
  • scope perf gate to runtime changes (54b686e)
  • fix semver gate for new root facade (76a8bb4)
  • Merge remote-tracking branch 'origin/main' into codex/root-facade-features (8321553)
  • cover root facade in semver gate (ef2286d)
  • fix: preserve legacy source parse fast path (72123f8)
  • fix: replace retired macos native runner (5d563cd)
  • fix: run SDK npm jobs from package dirs (2eb5e09)
  • fix: make SDK npm workflow portable (3896c08)
  • fix: locate standalone native addon artifact (28ff4a7)
  • fix: stabilize source frontend PR checks (b06df77)
  • feat: add source IR frontends and SDK bindings (d02e339)
  • Draft: Add compiled refinement execution strategy (#30) (0eedb86)
  • add root facade features (4dd1e3f)
  • bench(manifest): deprecate decode_step::execute — prior baseline was a silent no-op (18f553d)
  • fix(bench): annotate decode_step MatMul shapes (PR's rank-2 check caught a silent bug) (bc2c6fe)
  • fix(compile): refuse rank!=2 MatMul/Gemm operands (no silent dim collapse) (c4e47b1)
  • Merge branch 'main' of github.com:Hologram-Technologies/hologram (49bc8d3)
  • docs: drop redundant explicit-link target in hologram-net-http (5eb408e)
  • feat(substrate): Phase 3 — gap closure + uor-native networking (31ea3eb)
  • feat(substrate): complete Phase 2 — multi-axis, full ABI, free-list, measured boot (87e33b6)
  • feat(substrate): complete Phase 1 — DHT, federation, B-tree, quota, scheduling, revoke, NIC, OPFS GC, cold tier (4b127d8)
  • docs: drop private intra-doc link to block_on in hologram-store-bare (35fb8d4)
  • ci: run substrate V&V in GitHub Actions; fix CI gates (26f312a)
  • feat: Hologram container deployment substrate (storage · runtime · network) (54886c4)
  • perf(dequant_activation): make the i8/u8 LUT-lookup hot loop ~45% faster (e2aebd7)
  • ci(perf-gate): interleave PR + baseline rounds to cancel cross-phase drift (454cd4e)
  • test(graph): regression for gather_attrs survival through dead-node renumber (0eed496)
  • docs: drop stale buffer-pool budget mention (pool is self-sizing now) (2bdd652)
  • test(attention) + chore: gate fixes — fmt, clippy, semver bump, API snapshots (c22c01b)
  • fix(exec): bound the buffer pool by walk structure, not a byte budget (1e94ef4)
  • feat(attention): faithful SDPA kernel — causal mask + grouped-query + scale (249d4ac)
  • fix(graph): remap gather_attrs during dead-node elimination (49e3633)
  • fix: suppress unreachable_code clippy error in simd.rs (0e51e23)
  • ci: test + harden the release tooling (7cd0cba)
  • ci: comprehensive, tested quality + release gating machine-process (d8b4004)
  • feat: first-class Gather + numeric Cast ops, named/shaped ports, open Extension sections (8d0398f)
  • chore: remove scripts/hypergrep-setup.sh (78a8dc5)
  • chore: remove the orphaned root crate facade (dead code) (e55385e)
  • docs: correct hologram-ops key types + CLI subcommands in the crate table (1bf2f92)
  • docs: second completeness pass — integration guide + residual stale cells (1a73df9)
  • docs: completeness pass — fix remaining stale architecture refs + fill gaps (e0dc9ee)
  • docs: bring README, website, and agent docs in line with v0.5.0 (61e21c5)
  • feat: uint8 dequantization (ONNX's default quantization type) (c065c5e)
  • refactor: centralize the rank bound as documented MAX_RANK; lock fail-loud (2a64df6)
  • feat(exec): InferenceSession::resident_bytes/resident_count + BufferArena::pinned_bytes (e2376ec)
  • feat: densify Dequantize→activation over the realized quantum domain (~27× i8 GELU) (1afc0b1)
  • docs: record PM_7 + LUT benchmark/throughput results (6e4fd35)
  • feat: complete PM_7 — byte/Q0 LUT, pure quantum-level tiers, drop dead scaffold (3945c93)
  • feat: LUT-accelerated low-precision activations — PM_7's idea, realized (28× bf16 GELU) (4b1988f)
  • feat: PM_7 memory affinity (tiered-exec) — rebased onto authoritative main (eb49071)
  • fix: Output node sourced from a Constant aliases the constant's slot (e6883b3)
  • docs: record benchmark + throughput results (BENCHMARKS.md) (cbb5a58)
  • perf: zero-alloc fused kernels + head-to-head fusion benches (f02e847)
  • feat: zero-movement Expand via Expand→elementwise-binary fusion (BroadcastBinary) (645bc40)
  • feat: fused dequantize→matmul (MatMulDequant) — elide the dense f32 weight (99f1795)
  • feat: per-channel (per-axis) quantization for DequantizeLinear (ac33604)
  • feat: rank-general norm/Expand VJPs (complete the arbitrary-rank autodiff catalog) (5b8db82)
  • feat: dγ/dβ gradients for LayerNorm/RmsNorm/GroupNorm/InstanceNorm/AddRmsNorm (d268983)
  • feat: axis-specific reduction (ReduceSum/Mean/Prod/Min/Max over axes + keepdims) (774f0e4)
  • feat: true GroupNorm/InstanceNorm (num_groups) — kernel + composed VJP + KC-2 (36c45e9)
  • fix: LayerNorm/GroupNorm/InstanceNorm VJP fails loud instead of panicking (d7e2a84)
  • fix: fail loud at the host boundary + GPU dispatch (no silent truncation/zeros) (37f668d)
  • fix: norm/softmax normalize over last axis at arbitrary rank; drop dead axes module (529c1c6)
  • ci: fix Format/Documentation gates + run the full V&V catalog in CI (ed677d8)
  • feat: complete UOR-native autodiff by composition + remove legacy *Grad surface (2ffd156)
  • docs: record the new op V&V in CONFORMANCE.md (KC-4/5/6, PV-Z) (11fae21)
  • refactor: consolidate gradient dispatch into one explicit arm (remove dead aliases) (64901a4)
  • feat: frontend grammar — shapes, constants, output shapes (ops expressible in text) (103c102)
  • feat: backward/gradient ops fail loud (not an inference-runtime target) (9e3395e)
  • feat: Resize = nearest-neighbor gather kernel (f8a8497)
  • feat: Lrn = windowed-channel normalization kernel (80a360f)
  • feat: RoPE = rotate-half kernel with cos/sin operands (LLM rotary embedding) (03cb2a0)
  • feat: Expand = broadcast gather kernel (7d50898)
  • feat: Transpose = general n-d permute kernel (irreducible re-indexing op) (1dee24d)
  • feat: Pad = offset placement into a zeroed buffer (axis-0) (390cf85)
  • feat: Slice = ProjectField zero-movement view (axis-0 contiguous) (8d0d2ae)
  • feat: zero-movement view-binding in the buffer pool (ProjectField/Slice substrate) (9845a73)
  • feat: Concat is the PrimitiveOp::Concat constructor (functional binary placement) (47bb321)
  • feat: Reshape is zero-movement re-addressing (UOR-native, not a memcpy) (caad45c)
  • docs: ADR-056 — UOR-native completion of layout/indexed/gradient ops (2716071)
  • docs+feat: ADR-055 UOR-native op taxonomy; layout transforms fail loud (no silent memcpy) (0496c73)
  • feat: Path B — desugar FusedSwiGLU into MatMul·Silu·MatMul·Mul pipeline (3badd22)
  • feat: Path B — composite-op desugaring (Clip → Min∘Max) into primitive pipelines (2175dfb)
  • feat: no-fallback UOR-native kernels — one engine for all float dtypes, dtype policy, zero-overhead V&V (ee292ed)
  • fix: parallel pool was serializing (queue lock held across tasks); wire + verify whole-processor leverage (77388c7)
  • test: PA — parallel-execution conformance (parallel ≡ sequential ≡ f64) (9865a21)
  • feat: weight-layout monomorphism — compile-time panel-packed constant weights (0351b98)
  • refactor: route packed-B length through layout::packed_len (single source) (4fb3640)
  • refactor: dedup weight-layout packing + correct stale warm-start docs (a42df0f)
  • feat: cache-oblivious recursive packed matmul — no remaining levers (e27d9ca)
  • feat: residual-add epilogue fusion (matmul → add(out, residual)) — FU-4 (9f99419)
  • feat: compile-time weight-layout monomorphism (zero-copy panel-packed weights) (4a58ebc)
  • feat: warm-start (WS class) + cache-oblivious lattice-recursion matmul (7ae4596)
  • feat: zero-movement UOR-native runtime + content-addressed execution/fusion + V&V (de72f7c)
  • ci: install aarch64 cross-cc for blake3 NEON build (7d73d39)
  • ci: cargo fmt --all + retarget cross-build at no_std core (2badc7d)
  • feat: prism completeness + cleanup pass (b893e1e)
  • feat: prism-canonical façade + zero-copy SIMD performance pass (76c1aef)
  • feat: architectural completeness pass for prism v0.3.1 (51c6d1f)
  • prism-0.3.1 refactor (a39d80b)
  • chore: accumulated wgpu backend + helper-arg refactors + decode bench extension (ace5c40)
  • feat(transform): generic push_op + fluent TensorRef API + capacity hints (b4b7c9b)
  • bench: transformer-block decode step on canonical backends (4d04867)
  • perf(ops): faster matmul + optional parallel feature (50cdeff)
  • perf(backend): cache wgpu readback staging buffer; drop redundant write_span submit (f5db1de)
  • bench(wgpu): resident vs round-trip dispatch comparison (ADR-051 step 3) (1932f94)
  • feat(backend): wgpu layer-norm-grad + add-rms-norm-grad on resident workspace (ADR-051 step 3 — complete) (85e9a57)
  • feat(backend): wgpu data-movement + softmax-grad + rms/instance norm-grads on resident workspace (ADR-051 step 3) (312848b)
  • docs(sprint): record ADR-051 step 3 migration coverage (31c16b3)
  • feat(backend): wgpu conv-transpose-2d + group-norm on device-resident workspace (ADR-051 step 3) (eed7b89)
  • feat(backend): wgpu conv2d on device-resident workspace (ADR-051 step 3) (5cc0239)
  • feat(backend): wgpu matmul + grads on device-resident workspace (ADR-051 step 3) (2553999)
  • feat(backend): wgpu norm family on device-resident workspace (ADR-051 step 3) (b248926)
  • feat(backend): wgpu reduce + softmax + pool on device-resident workspace (ADR-051 step 3) (15f8301)
  • feat(backend): wgpu unary family on device-resident workspace (ADR-051 step 3) (bc5f57b)
  • feat(backend): wgpu binary family on device-resident workspace (ADR-051 step 3) (ea1a5a7)
  • feat(backend): WgpuWorkspace device-resident buffer (ADR-051 step 2) (44d4197)
  • feat(transform): BackendWorkspace trait + CanonicalBackend assoc type (ADR-051 step 1) (6682717)
  • test(archive): v3 shape-coverage round-trip suite (ADR-053 step 6) (83f8d12)
  • docs(exec): scope shape_resolve as v2 compat fallback (ADR-053 ref) (658fdb2)
  • feat(exec): pre-seed ShapeRegistry from compiled shapes (ADR-053 step 3) (ae59829)
  • feat(archive): enforce v3 shape coverage at write time (ADR-053 step 2) (d393168)
  • feat(archive): bump FORMAT_VERSION to 3 with shape-coverage validation (ADR-053) (1a7c659)
  • docs(adr): accept ADRs 051, 052, 053 (6e3facb)
  • fix(exec): drop private intra-doc link in ConstrainedRunner (c808f5e)
  • docs(sprint): defer Sprint 30 perf knobs + clarify TinyLlama 4.4 blocker (2932ddf)
  • docs(adr): propose ADR-053 mandatory shape metadata in archive v3 (1b3ade6)
  • docs(adr): propose ADR-052 uor-foundation 0.3.0 domain decisions (0279fae)
  • docs(adr): propose ADR-051 canonical backend workspace residency (6404bda)
  • feat(transform): planner-reserved Attention scratch (Sprint 36 Phase 5) (c76a56a)
  • feat(transform): planner-side fusion pass with SwiGlu pattern (Sprint 35 Phase 5.1) (84fccc7)
  • docs(sprint): correct Sprint 33 Phase 4.3 status — partial, not complete (e897895)
  • feat(transform): planner-level Reshape span aliasing (Sprint 36 Phase 5) (a0753b7)
  • docs(sprint): reflect canonical-layer + Sprint 33 state in SPRINT.md (fb2a707)
  • feat(exec): populate KernelParams from inferred shapes (Sprint 33 Phase 5.2) (91fe0f5)
  • feat(exec): wire shape inference into execute_on_backend (Sprint 33 Phase 5.1) (7a9fffd)
  • Merge pull request #6 from Hologram-Technologies/feat/043-lut-addressed-transform-chains (f8039c0)
  • docs(plan-074): scope addendum based on actual 0.3.0 surface (c8d4ab8)
  • feat(canonical-wgpu): FusedSwiGlu + GroupNorm forwards as real WGSL (e521c56)
  • feat(canonical-wgpu): SoftmaxGrad family as real WGSL (8f24879)
  • feat(canonical-wgpu): AddRmsNormGrad as real WGSL (cc318c4)
  • feat(canonical-wgpu): LayerNormGrad as real WGSL (d5b1a05)
  • feat(canonical-wgpu): RmsNormGrad + InstanceNormGrad as real WGSL (8f0bc8d)
  • feat(canonical-wgpu): cover all KernelCall variants via CPU fallback (704609b)
  • feat(canonical): land canonical-op layer + transform planner + wgpu backend (01d0d18)
  • fix(exec): validate runtime shape volume in Resize + Conv2d dispatch (464e9be)
  • feat(exec): add level statistics logging + fix stray char in plan 074 (1db9442)
  • Merge feat/archive-dedup-level-parallel: pipeline constant dedup + byte-level BPE decode (e9e67e9)
  • feat: pipeline constant dedup + byte-level BPE decode (40ba3f2)
  • refactor: extract modules for conv_transpose, winograd, matmul dequant, KV quant/WHT, kernel dispatch, shape inference rules, cpu cast (fc44ec2)
  • WIP: plan to upgrade to uor-foundation (650e909)
  • feat: add ConstantStore::replace and Graph::replace_constant (fbca6ca)
  • fix: replace manual zero-checks with checked_div (clippy::manual_checked_ops) (d2c0f6c)
  • feat: UOR encoding types + content-addressed constants (Plan 077) (da8a4ad)
  • feat: Q8 BLAS dequant-matmul path + prewarm cache (53358d4)
  • fix: resolve 0-sentinel dims in InlineTranspose for variable-length M>1 (833b7f5)
  • feat: ByteLevel BPE tokenizer + HOLOGRAM_DUMP_DIR intermediate capture (5aeff66)
  • feat: seed shapes in arena + direct shape reads in dispatch_kernel (Plan 073 Phase 4) (1d1e870)
  • feat: wire shape tracking into execute_direct (Plan 073 Phase 3) (eb399a0)
  • feat: wire ShapeRegistry into BufferArena (Plan 073 Phase 2) (f2f4374)
  • feat: hologram-shape crate — runtime tensor shape tracking (Plan 073 Phase 1) (a67aeea)
  • docs: Plan 073 — hologram-shape crate for runtime shape tracking (4b770b6)
  • Merge feat/compute-backend: hologram-backend crate + hologram-exec cleanup (4c19183)
  • perf: upgrade CpuBackend Gemm to use Accelerate BLAS with transpose support (43477a3)
  • refactor: consolidate 35 trivial dispatch_kernel arms into single FloatOp path (8fa52d0)
  • feat: comprehensive CpuBackend dispatch — all FloatOp variants covered (d8f9b6f)
  • chore: remove dead Metal/WebGPU artifacts from hologram-exec (167d8de)
  • refactor: remove old backend/ module from hologram-exec (-5.2K lines) (2b25eeb)
  • feat: comprehensive TapeKernel→FloatOp mapping + fix Metal SGEMM dispatch (d850dcf)
  • feat: Sin/Cos/Log/Sqrt Metal kernels + Conv2d im2col + Resize dispatch (d6e4a27)
  • fix: MSL shader extraction + error logging + larger matmul test (271064c)
  • perf: gate GPU dispatch on has_gpu_inputs — 24→39 tok/s TinyLlama (d67fcea)
  • fix: Slice dispatch respects runtime buffer size for variable-length (6aff0e4)
  • feat: execute_tape_on_backend API + Accelerate BLAS matmul (df2e242)
  • feat: TensorBuffer shape tracking + integration tests + WebGPU docs (f963fb8)
  • feat: complete op coverage + TapeKernel→FloatOp mapping for new executor (820a582)
  • feat: CPU + Metal dispatch for matmul, softmax, norms + feature-gated backends (17e5629)
  • feat: single-path executor + MetalMemory + memory-constrained traits (69ec119)
  • feat: hologram-backend crate — ComputeMemory + ComputeBackend traits (ac8f752)
  • docs: Plan 067 (ComputeBackend rewrite) + sprint update (7cb9d9e)
  • perf: wire Gemm + Slice + Concat through GPU dispatch (18719d7)
  • perf: wire Transpose + InstanceNorm + LayerNorm + Reshape to GPU (ca5e464)
  • fix: exhaustive profile_name + Conv2dLut4 identified as bottleneck (fc6691a)
  • perf: route Conv2dLut4 through Metal GPU + full variant profile names (46dc7c6)
  • feat: Metal kernels for full UNet coverage + unified GPU dispatch (92c4607)
  • perf: Conv2d spatial inference + early input_metas for GPU chaining (5ef9bcf)
  • feat: Metal Erf + im2col Conv2d kernels, expanded GPU-chainable ops (90427c0)
  • perf: GPU buffer chaining — zero-copy GPU-to-GPU op dispatch (dd335df)
  • perf: lazy Metal readback + deferred flush for GPU op batching (5cb4b41)
  • feat(archive): streaming pipeline archive build via PipelineWriter (98c5e7d)
  • perf: wire Metal MatMul dispatch + online softmax for large attention (cbf6724)
  • fix(archive): zero weights_checksum for streaming, skip validation on zero checksum (6dab1bd)
  • fix(archive): use layout.weights_size in header, not weight_data.len() (9b194ed)
  • feat(archive): streaming archive write via build_to_file + WeightSource (Plan 064) (71d5236)
  • feat(exec): add constrained runtime profile for bounded-memory execution (Plan 042) (485a745)
  • Merge feat/sd-correctness-and-output-types: OutputBuffer, Mmap eviction, PatchPrune kernel, scatter-gather streams, and correctness fixes (cc8937d)
  • feat(exec): add PatchPrune runtime kernel for ViT token reduction (f112cc6)
  • feat: heap_only_eviction flag + lazy Mmap with logical length tracking (ae37e83)
  • fix: lazy Mmap allocation + Heap alignment fallback in alloc_f32_in (8e0a3e3)
  • feat: OutputBuffer + Mmap-backed eviction for bounded-memory execution (Plan 062) (463c1e8)
  • feat(exec): scatter-gather stream, buffer lending, hardware-aware thresholds, cooperative cancellation (a132d22)
  • perf: madvise(MADV_FREE) on evicted activation buffers (a09a347)
  • perf: 1×1 Conv2d fast path — route to BLAS sgemm instead of im2col (846396e)
  • debug: add per-instruction tracing + slow-instruction warnings (5a04d2c)
  • feat(archive): HostMetaSection — host-facing metadata sibling to ModelMeta (680e7a7)
  • fix: alloc_f32_in handles alignment-1 buffers (fixes eviction regression) (c67973b)
  • fix: skip pre-allocation when checkpoint_enabled — was reserving 20+ GiB up front (d623d3f)
  • fix: wire runtime buffer eviction in execute_direct (gated on checkpoint_enabled) (c82ea30)
  • fix: dispatch_where panics on empty operand inputs (6048d74)
  • ci(slack): also notify on tag pushes, render dynamic header (3a75759)

What's Changed

  • feat(canonical): LUT-addressed transform chains — Sprint 35-37 + canonical wgpu backend by @auser in #6
  • Decode-step bench + CPU matmul perf + fluent transform builder by @auser in #7
  • UOR-native runtime: content-addressed execution, autodiff by composition, no legacy surface by @afflom in #11
  • Remove arbitrary rank-2 norm/softmax limitation + drop dead axes module by @afflom in #12
  • fix: Output node sourced from a Constant aliases the constant's slot (was WorkspaceExhausted) by @afflom in #15
  • feat: PM_7 memory affinity — software-emulated unified memory by @auser in #14
  • feat: densify Dequantize→activation over the realized quantum domain (~27× i8 GELU) by @afflom in #16
  • feat(exec): resident_bytes/resident_count — runtime footprint readout for hologram-ai by @afflom in #17
  • refactor: production-readiness sweep — centralize rank bound as documented MAX_RANK by @afflom in #18
  • feat: uint8 dequantization (ONNX's default quantization type) by @afflom in #20
  • docs: bring README, website, and agent docs in line with v0.5.0 by @afflom in #19
  • chore: remove the orphaned root crate facade (dead code) by @afflom in #21
  • feat: first-class Gather + numeric Cast, named/shaped ports, open Extension sections by @afflom in #22
  • ci: comprehensive, tested quality + release gating machine-process by @afflom in #24
  • Correct + memory-bounded execution of causal-GQA LLMs by @afflom in #26
  • feat: Hologram container deployment substrate (storage · runtime · network) by @afflom in #25
  • feat(substrate): Phases 2 + 3 — full gap closure + uor-native networking (libp2p removed) by @afflom in #27
  • fix(compile): refuse rank!=2 MatMul/Gemm operands (no silent dim collapse) by @afflom in #28
  • Draft: Add compiled refinement execution strategy by @auser in #30
  • Add source IR frontends and SDK bindings by @auser in #31
  • [codex] add root facade features by @auser in #29
  • perf(backend): SIMD f32 matmul + GEMV on aarch64 NEON & wasm SIMD128 by @auser in #32
  • perf(backend): fused per-channel int8 matmul for decode (NEON + wasm SIMD128) by @auser in #33
  • v0.7.0: browser decode residual (W8A8/W4A8 GEMV, AVX2, wasm threads) + weight-tier pager by @afflom in #34

Full Changelog: v0.6.1...v0.7.0