Skip to content

v3.0.0

Choose a tag to compare

@boykush boykush released this 20 Sep 05:38
· 284 commits to main since this release
9a627af

⚠️ Breaking change

scraps build and scraps serve read each scrap's last commit date from git again. The home ("recently updated") sorts by those dates, and commited_ts is back in the HTML output and the template variables.

  • --no-git keeps the v1–v2 behaviour: no git call, no dates.
  • --git still parses, so workflows written for it keep running.
  • In CI, check out the full history (fetch-depth: 0): a shallow clone gives every scrap the same date.

Why: the home is always the updated view, so the opt-in default introduced in v1 (#476) left it with no dates and nothing to sort by. The cost that made git opt-in in the first place is gone — see below.

What's Changed

✨ Features

  • feat(build)!: read commit dates from git by default (#732)

⚡ Performance

  • perf: read commit timestamps with one git log pass (#730)

    One git log over the scraps directory replaces one git log -1 per scrap. On boykush/wiki (1038 scraps) a cold build --git went from 3.9–6.0 s to 0.28–0.42 s, and the CI benchmark now walks that wiki's full history in 0.223 s against the 4 s threshold. Git also runs in the scraps directory now, so -C <dir> started from outside the repository no longer leaves every date empty.

  • perf(lint): ask git once in stale-by-git too (#733)

    lint --rule stale-by-git uses the same one-pass lookup: 0.12 s over that wiki.

📚 Documentation

  • docs: build with --git in the deploy guide and the docs site (#731)

🔧 Maintenance

Full Changelog: v2.4.1...v3.0.0