- Require Drupal ≥ 10.2.
- Safer post-sanitize run: fixed scope 'sanitized', per-run seed, robust try/catch + logging, cache invalidation. 
  When pre/post snapshots are available, only fields that have been changed by sql:sanitize are processed; otherwise, it falls back to 'sanitized'.
- Drush sp:fake: respects --scope (sanitized|empty|all), enforces max length (incl. username cap), better list_string handling.
- Settings UX: “Faker locale” auto-disabled if Faker isn’t installed; strategy list shows labels.
- Faker integration: ThematicFaker via DI; optional fakerphp/faker with locale support; algorithmic fallbacks when absent.
- Docs: refreshed README and quick guide for adding custom strategies.
- QA: PHPCS/PHPStan cleanups; clearer error messages.