Files
symclaw/CHANGELOG.md
T

84 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.0.0-alpha] - 2026-02-14
### Added — Wave 1: Algebra & Symbolic Features
- `poly` — Sparse multivariate polynomials with Lex, DegLex, DegRevLex orderings
- `pattern` — Advanced pattern matching with multi-wildcards, conditions, type filters
- `precision` — Arbitrary precision BigFloat, error propagation, finite fields GF(p)
- `symbols` — Symbol attributes (real, positive, symmetric, antisymmetric, linear, tags)
- `tensor` — Symbolic tensors with Einstein summation, index contraction, Minkowski metric
- `number_theory` — 30+ number theory functions (primes, factorization, CRT, Fibonacci, Bernoulli)
- `units` — Dimensional type system with SI 7-vector
- `discover` — Symbolic regression via genetic programming
- `proof` — Step-by-step proof traces with LaTeX/Markdown export
- `confidence` — Expression confidence scoring
- `transforms` — Laplace and Fourier transforms
- `limits` — Limit computation with 7 strategies (L'Hôpital, Taylor, growth rate, etc.)
- `codegen` — Code generation for 7 targets (Python, C, Rust, Julia, JS, GLSL, WGSL)
- `ode` — First-order ODE solver (separable, linear, exact, Bernoulli)
### Added — Wave 2: Bindings & Streaming
- `symclaw-python` — PyO3 bindings with operator overloading, full API coverage
- `symclaw-collab` — Multi-user WebSocket collaboration server
- `streaming` — Compact binary encoding, file I/O, streaming expression iterators
### Added — Performance Wave
- `modular_gcd` — Zippel sparse modular GCD algorithm
- `packed_poly` — FORM-inspired flat byte-buffer polynomial representation (4-8× less memory)
- `simd_arith` — Montgomery multiplication, batch modular ops, AVX2 acceleration
### Added — Wiring & Integration
- CLI expanded to 20+ commands (`:diff`, `:integrate`, `:limit`, `:codegen`, `:solve`, `:proof`, etc.)
- WASM expanded to 24 browser-ready exports
- Skill expanded to 22 JSON-RPC actions
- Integration tests across all modules
- End-to-end tests for CLI, WASM, and skill workflows
### Added — GPU Wave (World First)
- `symclaw-gpu` crate with 9 GPU modules via CubeCL
- `gpu::poly_gcd` — Batch polynomial evaluation for Zippel GCD (10-100× speedup)
- `gpu::ntt` — Number Theoretic Transform polynomial multiply (100-1000× speedup)
- `gpu::groebner` — F4 Gröbner basis with GPU row reduction (10-100× speedup)
- `gpu::discover` — GPU symbolic regression fitness evaluation (50-100× speedup)
- `gpu::eval` — Batch expression evaluation (10-50× speedup)
- `gpu::linalg` — GPU matrix operations (10-50× speedup)
- `gpu::ode` — Parallel ODE parameter sweeps (10-100× speedup)
- `gpu::monte_carlo` — GPU Monte Carlo integration (50-500× speedup)
- Multi-backend support: CUDA, ROCm, Metal, WebGPU, Vulkan, CPU fallback
### Added — Coverage Boost
- Test count: 426 → 1,173
- Line count: ~11,000 → 39,689
- Module count: ~12 → 48
- Crate count: 4 → 8
### Changed
- Architecture expanded from 3-layer to 8-crate workspace
- AST now uses `Arc<Expr>` throughout for zero-copy sharing
- Simplifier upgraded with e-graph integration and multi-pass pipeline
## [0.1.0] - 2026-02-13
### Added
- Core symbolic engine: parser, simplifier, evaluator, LaTeX renderer
- E-graph equality saturation via egg crate with 30+ rewrite rules
- Symbolic differentiation (all elementary functions, chain rule, higher-order, partial)
- Symbolic integration (power, trig, exp, substitution, by-parts)
- Equation solver (linear, quadratic, polynomial, trig/exp, 2×2 systems)
- Taylor/Maclaurin series expansion with fast-path known functions
- Interactive CLI REPL with Unicode output, variable assignment
- WASM bindings (12 functions)
- OpenClaw skill bridge (JSON-RPC, 9 actions)
- Canvas Manipulate (interactive plotting with parameter sliders)
- Docker deployment (multi-stage build, compose)
- Nix flake (crane builds, dev shell, NixOS module)
- GitHub Actions CI/CD (test, cross-build, release)
- Pi cluster deployment scripts
- 426 tests (unit + property-based)