What's Changed
Breaking change.
+ Primary goal is to improve the client's resilience against API instability. See ongoing investigation on 129.
+ Basic usage — i.e. everything covered in the README — should be unaffected.
Breaking
+ Previously deprecated `Client.get`/`Search.get` removed in 137
+ Misleading type hints/defaults for `max_results`/`delay_seconds` replaced in 138
+ Constructors are expected to be backwards-compatible, but this is untested behavior
+ `UnexpectedEmptyPageError` and `HTTPError` constructor signatures changed in 136
+ Sets a `User-Agent` header on the API request
+ Introduces dependency on `requests`
+ Introduces `Client`-encapsulated session reuse
+ `feedparser` no longer swallows connection errors; instead, retry per `Client` behavior
Deprecating
+ `Search.results` deprecated: prefer `Client.results` with client reuse.
Other
* Format with black in https://github.com/lukasschwab/arxiv.py/pull/120
* Standardize on HTTPS over HTTP in https://github.com/lukasschwab/arxiv.py/pull/131
* Improve logging: standard formatting, verbose tests in https://github.com/lukasschwab/arxiv.py/pull/132
* Use `setup-pythonv4`, cache pip dependencies in https://github.com/lukasschwab/arxiv.py/pull/133
* Pin `feedparser==6.0.6` in https://github.com/lukasschwab/arxiv.py/pull/135
**Full Changelog**: https://github.com/lukasschwab/arxiv.py/compare/1.4.8...2.0.0