wbt 0.8.0

Weight-based backtesting engine for quantitative trading
# wbt v0.7.1

> Release date: 2026-08-06
> Crate tag: `crate-v0.7.1` · Python tag: `v0.7.1`

## Summary

PATCH release that aligns bar return and trading-cost accounting. Public API
signatures and exported types are unchanged.

## Fixed

- A bar's return is now calculated from the position held before that bar, while
  trading costs are attributed to trades executed on the current bar.
- The first bar has neither return nor trading cost, avoiding a synthetic
  initial-period contribution.
- Daily stats and default segments use the dates that actually have effective
  daily returns, including correct cross-day boundaries.
- Long and short return components preserve the aggregate-return decomposition.
- The native Arrow IPC backtest path normalizes `digits` consistently with the
  Python entry point.

## Compatibility

No public function, parameter, return type, or export has changed. Backtests
that include position changes, first-bar observations, or cross-day boundaries
can produce corrected historical return, cost, and statistics values; recompute
persisted results before comparing them with v0.7.0 output.

## Tests

- Regression tests cover prior-position valuation, current-bar trading costs,
  no first-bar contribution, cross-day date assignment, return decomposition,
  and `digits` normalization.

## §4 LLM full-repo review

- Scope: `v0.7.0..2e13e8a` across the native backtest engine, Python wrapper,
  backtest and metrics tests, and Arrow IPC FFI entry point.
- Conclusion: no high- or medium-severity release blocker found. The reviewed
  date boundaries, long/short conservation, numeric normalization, and
  first-bar handling are covered by the candidate's regression tests.
- Known issues: none.