* 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 on bookmark mode not finding correct image for prefetcher.
* Fixed up the edit series relationship modal on tablet viewports.
* On double page mode, only bookmark 1 page if only 1 pages is renderered on screen.
* Added percentage read of a given library and average hours read per week to user stats.
* Fixed a bug in the reader with paging in bookmark mode
* Added a "This Week" option to top readers history
* Added date ranges for reading time. Added dates that don't have anything, but might remove.
* On phone, when applying a metadata filter, when clicking apply, collapse the filter automatically.
* Disable jump bar and the resuming from last spot when a custom sort is applied.
* Ensure all Regex.Replace or Matches have timeouts set
* Fixed a long standing bug where fit to height on tablets wouldn't center the image
* Streamlined url parsing to be more reliable
* Reduced an additional db query in chapter info.
* Added a missing task to convert covers to webP and added messaging to help the user understand to run it after modifying the setting.
* Changed OPDS to be enabled by default for new installs. This should reduce issues with users being confused about it before it's enabled.
* When there are multiple files for a chapter, show a count card on the series detail to help user understand duplicates exist. Made the unread badge smaller to avoid collision.
* Added Word Count to user stats and wired up average reading per week.
* Fixed word count failing on some epubs
* Removed some debug code
* Don't give more information than is necessary about file paths for page dimensions.
* Fixed a bug where pagination area would be too small when the book's content was less that height on default mode.
* Updated Default layout mode to Scroll for books.
* Added bytes in the UI and at an API layer for CDisplayEx
* Don't log health checks to logs at all.
* Changed Word Count to Length to match the way pages work
* Made reading time more clear when min hours is 0
* Apply more aggressive coalescing when remapping bad metadata keys for epubs.
* Changed the amount of padding between icon and text for side nav item.
* Fixed a NPE on book reader (harmless)
* Fixed an ordering issue where Volume 1 was a single file but also tagged as Chapter 1 and Volume 2 was Chapter 0. Thus Volume 2 was being selected for continue point when Volume 1 should have been.
* When clicking on an activity stream header from dashboard, show the title on the resulting page.
* Removed a property that can't be animated
* Fixed a typeahead typescript issue
* Added Size into Series Info and Added some tooltip and spacing changes to better explain some fields.
* Added size for volume drawers and cleaned up some date edge case handling
* Fixed an annoying bug where when on mobile opening a view with a metadata filter, Kavita would open the filter automatically.
* Recreated Kavita Logging with Serilog instead of Default. This needs to be move out of the appsettings now, to allow auto updater to patch.
* Refactored the code to be completely configured via Code rather than appsettings.json. This is a required step for Auto Updating.
* Added in the ability to send logs directly to the UI only for users on the log route. Stopping implementation as Alerts page will handle the rest of the implementation.
* Fixed up the backup service to not rely on Config from appsettings.json
* Tweaked the Logging levels available
* Moved everything over to File-scoped namespaces
* Moved everything over to File-scoped namespaces
* Code cleanup, removed an old migration and changed so debug logging doesn't print sensitive db data
* Removed dead code
* Capture date when Kavita creates a MangaFile so we can show the date on the UI.
* On startup, exit early for migration directory if it's a fresh install and we have migrations to run but no settings stored yet.
* Blur summaries should apply when there isn't any read more collapsable
* Fixed custom theme files not loading.
* Cleaned up the logic for displaying the manga file date
* Pull progress information for some of the recommended stuff.
* Fixed some redirection code from last PR
* Implemented the ability to search for files in the search and open the series directly.
* Fixed nav search bar expanding too much
* Fixed a bug in nav module not having router so some links broke
* Fixed an issue where with new localized series tag, merging could fail if the user had 2 series with the series and localized series.
Added extra error handling for tracking series parsed from disk.
* Fixed the slowness when typing in a typeahead by using auditTime vs debounceTime
* Removed some cleaning of Edition tags from the Parser. Only Omnibus and Uncensored will be ignored when cleaning titles, Full Color, Full Contact, etc will now stay in the title for Series name.
* Implemented ability to search against chapter's title (from epub or title in comicinfo). This should help users search for books in a series a lot easier.
* Restrict each search type to 15 records only to keep query performant and UI useful.
* Wrote some extra messaging on invite user flow around email.
* Messaging update