* Updated to net7.0
* Updated GA to .net 7
* Updated System.IO.Abstractions to use New factory.
* Converted Regex into SourceGenerator in Parser.
* Updated more regex to source generators.
* Enabled Nullability and more regex changes throughout codebase.
* Parser is 100% GeneratedRegexified
* Lots of nullability code
* Enabled nullability for all repositories.
* Fixed another unit test
* Refactored some code around and took care of some todos.
* Updating code for nullability and cleaning up methods that aren't used anymore. Refctored all uses of Parser.Normalize() to use new extension
* More nullability exercises. 500 warnings to go.
* Fixed a bug where custom file uploads for entities wouldn't save in webP.
* Nullability is done for all DTOs
* Fixed all unit tests and nullability for the project. Only OPDS is left which will be done with an upcoming OPDS enhancement.
* Use localization in book service after validating
* Code smells
* Switched to preview build of swashbuckle for .net7 support
* Fixed up merge issues
* Disable emulate comic book when on single page reader
* Fixed a regression where double page renderer wouldn't layout the images correctly
* Updated to swashbuckle which support .net 7
* Fixed a bad GA action
* Some code cleanup
* More code smells
* Took care of most of nullable issues
* Fixed a broken test due to having more than one test run in parallel
* I'm really not sure why the unit tests are failing or are so extremely slow on .net 7
* Updated all dependencies
* Fixed up build and removed hardcoded framework from build scripts. (this merge removes Regex Source generators). Unit tests are completely busted.
* Unit tests and code cleanup. Needs shakeout now.
* Adjusted Series model since a few fields are not-nullable. Removed dead imports on the project.
* Refactored to use Builder pattern for all unit tests.
* Switched nullability down to warnings. It wasn't possible to switch due to constraint issues in DB Migration.
* Fixed a bug where when clicking on a series rating for first time, the rating wasn't populating in the modal.
* Fixed a bug on Scroll mode with immersive mode, the bottom bar could clip with the book body.
* Cleanup some uses of var
* Refactored text as json into a type so I don't have to copy/paste everywhere
* Theme styles now override the defaults and theme owners no longer need to maintain all the variables themselves.
Themes can now override the color of the header on mobile devices via --theme-color and Kavita will now update both theme color as well as color scheme.
* Fixed a bug where last active on user stats wasn't for the particular user.
* Added a more accurate word count calculation and the ability to see the word counts year over year.
* Added a new table for long term statistics, like number of files over the years. No views are present for this data, I will add them later.
* Added new stat graph for pages read over time for all users.
* Switched to reading events rather than pages read to get a better scale
* Changed query to use Created date as LastModified wont work since I just did a migration on all rows.
* Small cleanup on graph
* Read by day completed and ready for user stats page.
* Changed the initial stat report to be in 1 day, to avoid people trying and ditching the software from muddying up the stats.
* Cleaned up stats page such that stats around series show their image and tweaked some layout and wordings
* Fixed recently read order
* Put read history on user profile
* Final cleanup, Robbie needs to do a CSS pass before release.