* 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.
* Updated theme support to be able to customize the tile color dynamically from a theme via --tile-color. In addition, --theme-color will update apple-mobile-web-app-status-bar-style as well as the non-apple variants
* Removed --manga-reader-bg-color as it wasn't used anywhere. Fixed double pagination on swipe.
* Cleaned up some dead threshold code for swipe.
* Started refactoring tests to use an abstract test class. Stopping because I should do on the .net 7 branch to avoid large merge conflicts. Tests need to be re-designed so they can run in parallel.
* Fixed a bug in reading lists where when deleting an item, order could be miscalculated.
* Started adding new information for stat service. Refactored time spent reading to be more accurate by taking average time against how much of the chapter the user has read.
* Hooked up total time reading at server stat level. Don't show fancy graphs on mobile.
* Added new stats for v0.7
* Added a test for Clearing want to read
* Fixed a few tests that weren't resetting state between runs
* Fixed some broken unit tests
* Ensure all Series queries sort by a case invariant string.
* Added more aggressive caching of images. This will result in a min delay on pages after a cover is changed.
* Fixed a bug where if during new word count calculation, new word count is zero, restoring the old count wasn't working.
* Cleaned up some of the code for getting time estimates
* Fixed a bug where triggering swipe right wasn't working when there was no scroll
* Delete the temp folder for creating a download after a full zip is created.
* Fixed a scaling issue in the epub reader, where images could scale when they shouldn't.
* Removed some caching on library/ api and added more output for a foreign key constraint
* Hooked in Restricted Profile stat collection
* Added a new boolean on age restrictions to explicitly allow unknowns or not. Since unknown is the default state of metadata, if users are allowed access to Unknown, age restricted content could leak.
* Fixed a bug where sometimes series cover generation could fail under conditions where only specials existed.
* Fixed foreign constraint issue when cleaning up series not seen at end of scan loop
* Removed an additional epub parse when scanning and handled merging differently
* Code smell
* Moved LibraryWatcher to utilize a queue for calculating the change event to ensure the Watcher doesn't get overwhelmed on large moves.
* Fixed a security vulnerability (https://huntr.dev/bounties/8a3e652f-d6bf-436e-877e-0eaf5c69ef95/). This will be disclosed in Stable release changelog.
* Tweaked the log message template
* Removed some dead code from Configuration json patcher
* Fixed a bug with the ComicInfo finding to properly handle root level.
Fixed a bug where sometimes scanner wouldn't choose the first file with ComicInfo for filling out information.
* Added new setting for managing how many logs files are allowed, just like how backups work.
* Added unit tests for new CleanupLogs code
* Fixed a bug where manga reader background color wasn't actually sending from the UI
* Added new stats for tracking to help understand usage in the app and what features are used or not.
* Fixed Stats url
* Fixed a bug where volumes that had larger than 1 difference wouldn't properly return next/prev chapter (for continuous reader)
* Remove a redundant test step in build pipeline, since it's already done at PR stage.
* Updated dockerfile to use the new Heath check endpoint
* Allow force to pass through to scan loop
* Removed some old config stuff from a safety check on config in entrypoint.sh
* Fixed broken unit tests due to new RBS check and how we setup mock data.
* Moved the data connection for the Database out of appsettings.json and hardcoded it. This will allow for more customization and cleaner update process.
* Removed unneeded code
* Updated pdf viewer to 15.0.0 (pdf 2.6), which now supports east-asian fonts
* Fixed up some regex parsing for volumes that have a float number.
* Fixed a bug where the tooltip for Publication Status wouldn't show
* Fixed some weird parsing rules where v1.1 would parse as volume 1 chapter 1
* Fixed a bug where bookmarking button was hidden for admins without bookmark role (due to migration)
* Unified the star rating component in series detail to match metadata filter.
* Fixed a bug in the bulk selection code when using shift selection, where the inverse of what was selected would be toggled.
* Fixed some old code where if on all series page, only English as a language would return. We now return all languages of all libraries.
* Updated api/metadata/languages documentation
* Refactored some bookmark api names: get-bookmarks -> chapter-bookmarks, get-all-bookmarks -> all-bookmarks, get-series-bookmarks -> series-bookmarks, etc.
* Refactored all cases of createSeriesFilter to filterUtiltityService.
Added ability to search for a series on Bookmarks page.
Fixed a bug where people filters wouldn't respect the disable flag froms ettings.
* Cleaned up a bit of the circular downloader code.
* Implemented Russian Parsing
* Fixed an issue where some users that had a missing theme entry wouldn't be able to update their user preferences.
* Refactored normalization to exclude !, thus allowing series with ! to be different from each other.
* Fixed a migration exit case
* Fixed broken unit test
* 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
* Ensure that Scan Series triggers a file analysis task.
* Tweaked concurrency for Analyze Files
* Implemented new stats tracking for upcoming performance release.
* Refactored the way cover images are updated from SignalR to use an explicit event that is sent at a granular level for a given type of entity.
Fixed a bad event listener for RefreshMetadata (now removed) to update metadata on Series Detail. Now uses ScanService, which indicates a series has completed a scan.
* Lots of attempts at making webtoon stable. Kinda working kinda not.
* Added a new boolean to hide images until the first prefetch loads the images, to prevent jankiness
* On Search, remove : from query
* Added HasBookmark and NumberOfLibraries to stat service
* Cleaned up some dead code
* Fixed a bug where page number wasn't reset between chapter loads with infinite scroller
* Added recently added series back into the dashboard.
* Cleaned up some code in search bar
* Fixed a duplicate check for updates. Changed checking from weekly to daily.
* Refactored how dark variables were accessed to reduce size of component css. Refactored Stats code to use lesser information for reporting.
* Use the installId from the database which is most unlikely to change.
* Fixed a missing interface with stat service
* Added DotnetVersion back into collection
* Updated url to new host.
* Cleaned up error interceptor to avoid sending auth errors (when a 500 occurs) to sentry as auth errors aren't issues.
* Added extra stat collection
* Fixed a bad gitignore which ignored anything in a stats directory