What's Changed
- ci: Add Windows runner by @kemzeb in #609
- ⚡ perf: cut startup and graph costs by @gaborbernat in #611
- ⚡ perf: cache rendered metadata by @gaborbernat in #612
- ⚡ perf: halve package size stat calls by @gaborbernat in #613
- ⚡ perf: cache frozen package specifiers by @gaborbernat in #614
- ⚡ perf: reuse computed package sizes by @gaborbernat in #615
- Replace prettier with mdformat and yamlfmt by @gaborbernat in #621
- ♻️ refactor(deps): move test extra to a dependency group by @gaborbernat in #622
- ✨ feat(rust): replace the Python engine with a Rust extension by @gaborbernat in #618
- 👷 ci(release): enable pypy wheels and disable fail-fast by @gaborbernat in #624
- 👷 ci: build dists on every check run by @gaborbernat in #625
Full Changelog: 3.1.1...4.0.0