What's Changed
1) **[BREAKING CHANGES]** DDGS, AsyncDDGS : all functions are now not generators, but return a list of dictionaries
2) Results return is dramatically sped up by asynchronous requests under the hood, especially for large max_results values
3) DDGS: reuse shared event loop,running in thread
4) AsyncDDGS: add global _SHARED_EXECUTOR for using in run_in_executor
5) maps(): removed MapsResult model, results are saved directly by the dictionary
6) maps(): divide bbox only if distance between coordinates > 1km
7) _extract_vqd(): replace regex pattern with .index
8) text(): simplify xpath patterns in _text_html() and _text_lite()
9) using orjson if installed
10) update CLI and tests to keep up with the changes
12) update dependencies: curl-cffi to 0.6.2, ruff to 0.3.0
**Full Changelog**: https://github.com/deedy5/duckduckgo_search/compare/v4.5.0...v5.0