* Fixed opds url display
* Rewrote how stat collection works, now we check in multiple places and always run stat collection in a background thread, to not block main thread.
* Cleaned up the ParseInfoTest to be more verbose
* Added benchmarking
* Added some basic OPDS implementation
* Fixed an issue with feed href
* More changes
* Added library routes and moved user code to a method so we can hack in fixed code without authentication
* Images now load on the OPDS reusing our existing Image infrastructure.
* Added the ability to download and moved some download code to a dedicated service
* Download is working, pagination is implemented.
* Refactored libraries to use pagination
* Laid foundation for OpenSearch implementation
* Fixed up some serialization issues and some old code that wasn't referencing helper methods
* Ensure chapters are sorted when we send them over OPDS
* OpenSearch implemented
* Removed any support for OPDS-PS due to lack of apps supporting it.
* Don't distribute development.json nor stats directory on build.
* Implemented In Progress feed as well.
* Ability to enable OPDS for server. OPDS now accepts initial call as POST in case app uses username/password.
* UI now properly renders state for OPDS enablement. Added Collections routes.
* Fixed pagination startIndex on OPDS feeds when there is less than 1 page.
* Chunky Reader now works. It only accepts UTF-8 encodings
* More Chunky fixes
* More chunky changes, such a fussy client.
* Implemented the ability to have a custom api key assigned to a user and use that api key as your authentication token against OPDS routing.
* Implemented the ability to reset your API Key
* Fixed favicon not being sent back correctly
* Fixed an issue where images wouldn't send on OPDS feed.
* Implemented Page streaming and fixed a pagination bug
* Hooked in the ability to save progress in Kavita when Page Streaming
* Fixed a bad comparision between JsonElement and null.
* Removed console.logs. Fixed bug in edit collection detail page where summary wouldn't update after editing it.
* Removed a UI package that is no longer used.
Fixed an issue where MarkVolumeAsUnread was using an old set of APIs and now uses the new, faster API.