Repository navigation
Releases: rekurt/matching-engine
Release list
v0.2.0-rc.1 — Financial pilot
A release candidate for a reproducible internal financial pilot.
- PostgreSQL double-entry ledger with exact decimal amounts, funded order reservations, immutable fee versions and atomic settlement.
- Internal mTLS gateway with explicit account permissions, stable outbox retries, durable matcher decisions and fail-closed reconciliation.
- Financial matching mode with account ownership/STP and execution protection for market orders.
- Separate recovering Go client with durable pending commands, application checkpoints and explicit ReplayGap handling.
- Compose environment, monitoring, maintenance barriers and verified backup/restore.
Validation
674 Rust tests, 11 PostgreSQL tests, 30 runtime/TLS tests (two intentional example skips), Go race tests, language examples, audit, fuzz and Docker checks passed. Financial model coverage includes 130 lifecycle cases and 185 independently checked trades. Seven supervised review rounds covered the component boundaries and fixes.
The one-hour full-path run completed 13,354 trades and 26,708 placement commands with zero errors, including kill/restart and a final accounting/reserve audit. Complete-pair p50/p95/p99 was 251/364/375 ms under the documented sequential workload; this is not an engine capacity figure or SLA. The report includes storage growth, machine details and binary hashes.
Handbook · Test and measurement report
Migration and limits
Start with a new financial ledger and an empty financial book. Financial storage/schema version 1 has no legacy-account import or automatic downgrade. Existing v2 payloads and legacy storage codecs remain unchanged; financial messages are separate negotiated capabilities.
One active matcher and gateway are supported. Financial mode requires protected market prices and does not expose configurable me-risk limits. Snapshots verify full journal replay; they do not compact history or accelerate restoration. Manual funding and withdrawals record accounting only. Real assets, public access, replication, automatic failover, registry publication and prebuilt binaries are outside this RC. Configure deployment-specific identities and alert recipients explicitly.
v0.1.0
First public release of the Rust spot matching service.
- Price-time matching, fixed-point arithmetic, sharded symbols and per-symbol risk controls.
- Limit, market, stop, trailing-stop and iceberg orders; GTC, IOC, FOK and GTD.
- Protocol v2 over TCP/UDS, TLS/mTLS, durable mutation retries and session replay.
- Decision journals, recovery checkpoints, ownership enforcement and durable halt/resume.
- Go SDK, four language examples, Prometheus metrics and HTTP health/admin endpoints.
- English integration and operations handbook.
- rustls 0.23.45 addresses RUSTSEC-2026-0285.
Protocol v2 and the current storage formats are retained. Legacy command-only/compacted journals are not migrated automatically; validate upgrades against copied storage and reconcile any replay mismatch before deployment.
This is a single-node matching service. Balances, settlement, replication and failover belong to the surrounding platform. Journals and retained mutation history grow with activity; online compaction is not provided. Examples do not implement complete settlement/reconnect recovery.
License: MIT. This release publishes source code and documentation; registry packages and prebuilt binaries are not included.