<!-- Release notes generated using configuration in .github/release.yml at main -->
What's Changed
⚡ Optimizations
* parsing: pass config instead of loading every time by skshetry in https://github.com/iterative/dvc/pull/9729
🐛 Bug Fixes
* plots: log failures during datapoint conversions by skshetry in https://github.com/iterative/dvc/pull/9726
* dvcfs: handle NotADirectoryError from datafs.ls by dberenbaum in https://github.com/iterative/dvc/pull/9746
* stage add: remove --external by skshetry in https://github.com/iterative/dvc/pull/9736
🔨 Maintenance
* build(deps-dev): bump mypy from 1.3.0 to 1.4.1 by dependabot in https://github.com/iterative/dvc/pull/9664
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/iterative/dvc/pull/9632
* ruff: enable a few more rules, and merge tests' config with the main config by skshetry in https://github.com/iterative/dvc/pull/9739
Other Changes
* repo: add helper method for doing data index lookup in subrepos by pmrowla in https://github.com/iterative/dvc/pull/9708
* stage.cache: override both legacy+local cache link types on save/commit by pmrowla in https://github.com/iterative/dvc/pull/9724
* repro: introduce --keep-going/--ignore to continue on error by skshetry in https://github.com/iterative/dvc/pull/9712
**Full Changelog**: https://github.com/iterative/dvc/compare/3.5.1...3.6.0