kavita: 0.8.5.11 -> 0.8.7 (#427104)

authored by jopejoe1 and committed by GitHub fae1490b 109dfc08

+208 -396
+6 -17
pkgs/servers/web-apps/kavita/default.nix
··· 2 2 lib, 3 3 stdenvNoCC, 4 4 fetchFromGitHub, 5 - fetchpatch2, 6 5 buildDotnetModule, 7 6 buildNpmPackage, 8 7 dotnetCorePackages, ··· 11 10 12 11 stdenvNoCC.mkDerivation (finalAttrs: { 13 12 pname = "kavita"; 14 - version = "0.8.5.11"; 13 + version = "0.8.7"; 15 14 16 15 src = fetchFromGitHub { 17 16 owner = "kareadita"; 18 17 repo = "kavita"; 19 18 rev = "v${finalAttrs.version}"; 20 - hash = "sha256-HSVdEB0yhmm/SZseHQ5kTRBaVqCZZx934Ovq1pTmQkM="; 19 + hash = "sha256-jRP7ts6+jogPdmP+DfzeijlG70kvJWgf8da/sTBT9d4="; 21 20 }; 22 21 23 22 backend = buildDotnetModule { ··· 27 26 patches = [ 28 27 # The webroot is hardcoded as ./wwwroot 29 28 ./change-webroot.diff 30 - # Upstream removes database migrations between versions 31 - # Restore them to avoid breaking on updates 32 - # Info: Restores migrations for versions between v0.7.1.4 and v0.7.9 33 - # On update: check if more migrations need to be restored! 34 - # Migrations should at least allow updates from previous NixOS versions 35 - ./restore-migrations.diff 36 - # Our nixos test depends on /api/locale; this patch fixes an upstream bug where the first response always fails 37 - # https://github.com/Kareadita/Kavita/pull/3686 remove once upstream is fixed 38 - (fetchpatch2 { 39 - name = "fix-locale-cache.patch"; 40 - url = "https://github.com/Kareadita/Kavita/commit/5af07b9525c2164a6548092244bbdf66815b3e95.patch?full_index=1"; 41 - hash = "sha256-aFZRxijAbA2mXJM+3kC4P4p76d0p5fEXLiaRhNmjOAA="; 42 - }) 29 + # NOTE: Upstream frequently removes old database migrations between versions. 30 + # Currently no migration patches are needed for upgrades from NixOS 24.11 (v0.8.3.2). 31 + # Future updates should check if migration restoration is needed for supported upgrade paths. 43 32 ]; 44 33 postPatch = '' 45 34 substituteInPlace API/Services/DirectoryService.cs --subst-var out ··· 65 54 npmBuildScript = "prod"; 66 55 npmFlags = [ "--legacy-peer-deps" ]; 67 56 npmRebuildFlags = [ "--ignore-scripts" ]; # Prevent playwright from trying to install browsers 68 - npmDepsHash = "sha256-9SfiH567+q3Id6/7pqWeX0y934V2YFQ4EWIJ+66smgI="; 57 + npmDepsHash = "sha256-/fBUOlZfNGyRu9mfniSMBKHPNgNsZNpbFZpVrFwBtb4="; 69 58 }; 70 59 71 60 dontBuild = true;
+202 -232
pkgs/servers/web-apps/kavita/nuget-deps.json
··· 11 11 }, 12 12 { 13 13 "pname": "BouncyCastle.Cryptography", 14 - "version": "2.5.0", 15 - "hash": "sha256-4JTx7QKSu3BE7kPuspN1KK2LtA9BWKLHZRLfOBEzWHY=" 14 + "version": "2.5.1", 15 + "hash": "sha256-ISDd8fS6/cIJIXBFDd7F3FQ0wzWkAo4r8dvycb8iT6c=" 16 16 }, 17 17 { 18 18 "pname": "Cronos", 19 - "version": "0.9.0", 20 - "hash": "sha256-yDYBfqSXqvT/VPUf6UT3XOgqqPmOMYqhjCBxpF5i15c=" 19 + "version": "0.11.0", 20 + "hash": "sha256-xElG27p+D4RrirLAbEhddOAlDgx95pm5KcOX47UAc10=" 21 21 }, 22 22 { 23 23 "pname": "CsvHelper", 24 - "version": "33.0.1", 25 - "hash": "sha256-4MwA/WerpI0VYWiaEudNCNnE1v6/k2tPmLbRjmgijV4=" 24 + "version": "33.1.0", 25 + "hash": "sha256-pEfX4o63xupI7uuwe6qa05One0pJ7UbzzJqLh4Shju8=" 26 26 }, 27 27 { 28 28 "pname": "Docnet.Core", ··· 61 61 }, 62 62 { 63 63 "pname": "Hangfire", 64 - "version": "1.8.18", 65 - "hash": "sha256-Ty2nF3qL5VQyZZcAaCBuBVohT7eMtwrKwFSv9TZCx0k=" 64 + "version": "1.8.20", 65 + "hash": "sha256-54lEtT81UcSf5LMkpo9cwA33lf2JUHqbP3nmfe744jc=" 66 66 }, 67 67 { 68 68 "pname": "Hangfire.AspNetCore", 69 - "version": "1.8.18", 70 - "hash": "sha256-tQx6bh68ZJk+kG2d3hszAzAY+9yPzoNqvlfgccsXfxc=" 69 + "version": "1.8.20", 70 + "hash": "sha256-0fjlvnTlikupJO9MVDbWGF0pitF8jeufvcen8RyiHpc=" 71 71 }, 72 72 { 73 73 "pname": "Hangfire.Core", ··· 81 81 }, 82 82 { 83 83 "pname": "Hangfire.Core", 84 - "version": "1.8.18", 85 - "hash": "sha256-erTLLsfI1Vo58zke9qqI1n2PCFqCGBoH0J0/f+WCwnQ=" 84 + "version": "1.8.20", 85 + "hash": "sha256-m+OTEYX7+jfhJk880KhfOH52d9TD/I1wfgil5gLlt5s=" 86 86 }, 87 87 { 88 88 "pname": "Hangfire.InMemory", ··· 96 96 }, 97 97 { 98 98 "pname": "Hangfire.NetCore", 99 - "version": "1.8.18", 100 - "hash": "sha256-pensGJ3OJTydVhi5ziaVPCKNpOe9EMlimohtFmBw0bo=" 99 + "version": "1.8.20", 100 + "hash": "sha256-5ioXNuuNaKL7IW438haeSes32r1tu6tXLdebMxFU6Zs=" 101 101 }, 102 102 { 103 103 "pname": "Hangfire.SqlServer", 104 - "version": "1.8.18", 105 - "hash": "sha256-mirQEgFPCXdvxE9XqXGUDizjixAlkUZ6WSJIk0Ovpuc=" 104 + "version": "1.8.20", 105 + "hash": "sha256-rMT6IywSAt+JzN+y541g29c+2rmHTeDNA0dqT4gnWn0=" 106 106 }, 107 107 { 108 108 "pname": "Hangfire.Storage.SQLite", ··· 111 111 }, 112 112 { 113 113 "pname": "HtmlAgilityPack", 114 - "version": "1.11.74", 115 - "hash": "sha256-kp9Hd6H6YfVI8xGOQXTcpcLXDen85tzI423vsJkL6Zo=" 114 + "version": "1.12.1", 115 + "hash": "sha256-qravAvCdB/KjWujRk2GL/kGre/B9XVAP+jewICxiKKo=" 116 116 }, 117 117 { 118 118 "pname": "Humanizer.Core", ··· 121 121 }, 122 122 { 123 123 "pname": "MailKit", 124 - "version": "4.10.0", 125 - "hash": "sha256-LnpMn+yD5gWrEmZ8dsHf80aBV1KM508uM91C4TftPsk=" 124 + "version": "4.12.1", 125 + "hash": "sha256-fwI0YTbwfzrvdkbATWGbv4D8ugOXgaPO/WFvGxQ9WS8=" 126 126 }, 127 127 { 128 128 "pname": "MarkdownDeep.NET.Core", ··· 136 136 }, 137 137 { 138 138 "pname": "Microsoft.AspNetCore.Authentication.JwtBearer", 139 - "version": "9.0.2", 140 - "hash": "sha256-X/n1/FojwBdgJpAwgfUjTzt6sStEsjTX5KyZWXm1cGA=" 139 + "version": "9.0.6", 140 + "hash": "sha256-caq6+66Khlpnxx2AoKz7KZzTsAGtttn30XCpAVWHQ5M=" 141 141 }, 142 142 { 143 143 "pname": "Microsoft.AspNetCore.Authentication.OpenIdConnect", 144 - "version": "9.0.2", 145 - "hash": "sha256-xqyfZOksphmvaN71bM5on4xf8usOSiKvGZ1j8F250IE=" 144 + "version": "9.0.6", 145 + "hash": "sha256-w1oV7FvVCahOMg9RSrCfijhPQKU9DVV4opA2wKK8xLY=" 146 146 }, 147 147 { 148 148 "pname": "Microsoft.AspNetCore.Authorization", ··· 161 161 }, 162 162 { 163 163 "pname": "Microsoft.AspNetCore.Cryptography.Internal", 164 - "version": "9.0.2", 165 - "hash": "sha256-rGpA88L92YFSNeMZCoO74QTGOpmcgNqhYJ6norXX3eU=" 164 + "version": "9.0.6", 165 + "hash": "sha256-ZKt2tftooxSQifJ6UNA85fAlsesx0QgKv8NmW1jTcCs=" 166 166 }, 167 167 { 168 168 "pname": "Microsoft.AspNetCore.Cryptography.KeyDerivation", 169 - "version": "9.0.2", 170 - "hash": "sha256-crQVw+JYWjOshBokx2W5fUEa+6oitZIJKEhXIsDg70g=" 169 + "version": "9.0.6", 170 + "hash": "sha256-r9knJVBbN0S+po6BK20Ak6r9FXK9saTLunchxDqXq+Q=" 171 171 }, 172 172 { 173 173 "pname": "Microsoft.AspNetCore.Hosting.Abstractions", ··· 211 211 }, 212 212 { 213 213 "pname": "Microsoft.AspNetCore.Identity.EntityFrameworkCore", 214 - "version": "9.0.2", 215 - "hash": "sha256-0AAxLKe2QwrfdGzBVWImKYSZyz8JLEErjf+/vFVVYzU=" 214 + "version": "9.0.6", 215 + "hash": "sha256-mF/nJQawGgra3Nc/GQQT50l1aHBmI8G1nlotw1tjCRY=" 216 216 }, 217 217 { 218 218 "pname": "Microsoft.AspNetCore.Routing", ··· 316 316 }, 317 317 { 318 318 "pname": "Microsoft.Data.Sqlite.Core", 319 - "version": "9.0.2", 320 - "hash": "sha256-ZUVDe+oy7fAWcnQDRdhkVeN7YZkJewwqBNaxdZcykiM=" 319 + "version": "9.0.6", 320 + "hash": "sha256-f4WHab5L0S4piVCS4meER7cRcZIGDRaqcND8VS9QJAU=" 321 321 }, 322 322 { 323 323 "pname": "Microsoft.EntityFrameworkCore", 324 - "version": "9.0.2", 325 - "hash": "sha256-ew+vhHqu+4Hgc5xKiIwEHYWD8dsXqtHmu8Ctre5MrXc=" 324 + "version": "9.0.6", 325 + "hash": "sha256-B118NSNtOYUihsHsI4741+YUZJGbMja0MUmDm8NRr5k=" 326 326 }, 327 327 { 328 328 "pname": "Microsoft.EntityFrameworkCore.Abstractions", 329 - "version": "9.0.2", 330 - "hash": "sha256-FNTvIJPkG6jlEE+3p4/qeL7NPDKNDgDCYlIrSn1gQ4E=" 329 + "version": "9.0.6", 330 + "hash": "sha256-fd+GFr+mqNMwMq1MlN2DjnAMn0kQ75pJWgUBcXSuWv0=" 331 331 }, 332 332 { 333 333 "pname": "Microsoft.EntityFrameworkCore.Analyzers", 334 - "version": "9.0.2", 335 - "hash": "sha256-qXwOxUCeg4b4NSLFD3Ws/D161uQoozM+EiBThp7IeBY=" 334 + "version": "9.0.6", 335 + "hash": "sha256-CDc2Xlo65IhClydJf90eoXktomxDY29UnKfQBZDYtOo=" 336 336 }, 337 337 { 338 338 "pname": "Microsoft.EntityFrameworkCore.Design", 339 - "version": "9.0.2", 340 - "hash": "sha256-f5LMTlXnb13wKQOofCJJ+TyEPOnHi9FpTaHaiYwJF80=" 339 + "version": "9.0.6", 340 + "hash": "sha256-+TeQl0uCg/UXZVO36Wa0+8s3z6OmNwdtwM2I8YhZJgk=" 341 341 }, 342 342 { 343 343 "pname": "Microsoft.EntityFrameworkCore.Relational", 344 - "version": "9.0.2", 345 - "hash": "sha256-IGc3xy455dFu+z6M0Vaqqm09VXehb/XFquOgtpTLcGk=" 344 + "version": "9.0.6", 345 + "hash": "sha256-g9iaI89SSxlopSnfSfU9+lT+K2OcJgFkdn25gq93oak=" 346 346 }, 347 347 { 348 348 "pname": "Microsoft.EntityFrameworkCore.Sqlite", 349 - "version": "9.0.2", 350 - "hash": "sha256-ucYyVaLWpRk6Xl0OtX9qp8Nr0gktElgIML5b/JPItX4=" 349 + "version": "9.0.6", 350 + "hash": "sha256-RAX4jmf1eMQBvcgtWUoVoRlagX6kV5hrxAj1LbxH/NY=" 351 351 }, 352 352 { 353 353 "pname": "Microsoft.EntityFrameworkCore.Sqlite.Core", 354 - "version": "9.0.2", 355 - "hash": "sha256-LqWVpwwj837DHoQuk/aq78Y9lwD/oWDJAxwLNdYN1No=" 354 + "version": "9.0.6", 355 + "hash": "sha256-ilqZk5QeIWs1jgqgU/rMOlKld8TEHvCMwehbJ+r8IcI=" 356 356 }, 357 357 { 358 358 "pname": "Microsoft.Extensions.ApiDescription.Server", 359 - "version": "6.0.5", 360 - "hash": "sha256-RJjBWz+UHxkQE2s7CeGYdTZ218mCufrxl0eBykZdIt4=" 359 + "version": "8.0.0", 360 + "hash": "sha256-GceEAtCVtm8xUHjR6obQ6bBJMOf+9d9OQ1iVr48sQbg=" 361 361 }, 362 362 { 363 363 "pname": "Microsoft.Extensions.Caching.Abstractions", 364 - "version": "9.0.2", 365 - "hash": "sha256-fSHzO0OgH+bSuq7vxMhe8gw17Cx2ouMLen9IsJAOD7c=" 364 + "version": "9.0.6", 365 + "hash": "sha256-NuwtUydPZE7d2ntiz1rT4i9udKXlEV4r/CnM3Ii+fuQ=" 366 366 }, 367 367 { 368 368 "pname": "Microsoft.Extensions.Caching.Memory", 369 - "version": "9.0.2", 370 - "hash": "sha256-QBqH+WqnJrzjLFekeu8yCGyRBRfiMUPihfhLi+Wtm7w=" 369 + "version": "9.0.6", 370 + "hash": "sha256-qtMzge0A0ZM2oaNNbLAM6ndAudY8I6LQlhUXo4fj1Mg=" 371 371 }, 372 372 { 373 373 "pname": "Microsoft.Extensions.Configuration", 374 - "version": "8.0.0", 375 - "hash": "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA=" 374 + "version": "9.0.6", 375 + "hash": "sha256-Ib0B8qCNNrtcKd3dG0ZeO4cAndb5koNjPUgv9Oyvbns=" 376 376 }, 377 377 { 378 - "pname": "Microsoft.Extensions.Configuration", 379 - "version": "9.0.2", 380 - "hash": "sha256-AUNaLhYTcHUkqKGhSL7QgrifV9JkjKhNQ4Ws8UtZhlM=" 378 + "pname": "Microsoft.Extensions.Configuration.Abstractions", 379 + "version": "3.0.0", 380 + "hash": "sha256-GJDvt3qFAif5ToFjHgs8imCaUER7yvYJghnlYXiHrHU=" 381 381 }, 382 382 { 383 383 "pname": "Microsoft.Extensions.Configuration.Abstractions", 384 - "version": "3.0.0", 385 - "hash": "sha256-GJDvt3qFAif5ToFjHgs8imCaUER7yvYJghnlYXiHrHU=" 384 + "version": "6.0.0", 385 + "hash": "sha256-Evg+Ynj2QUa6Gz+zqF+bUyfGD0HI5A2fHmxZEXbn3HA=" 386 386 }, 387 387 { 388 388 "pname": "Microsoft.Extensions.Configuration.Abstractions", ··· 396 396 }, 397 397 { 398 398 "pname": "Microsoft.Extensions.Configuration.Abstractions", 399 - "version": "9.0.2", 400 - "hash": "sha256-icRtfbi0nDRUYDErtKYx0z6A1gWo5xdswsSM6o4ozxc=" 399 + "version": "9.0.6", 400 + "hash": "sha256-11bIIn40Qadrlp1MZpQmAlpBHXPcbxB4Gjcp12EUQ1M=" 401 401 }, 402 402 { 403 403 "pname": "Microsoft.Extensions.Configuration.Binder", 404 - "version": "8.0.0", 405 - "hash": "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q=" 406 - }, 407 - { 408 - "pname": "Microsoft.Extensions.Configuration.Binder", 409 - "version": "8.0.2", 410 - "hash": "sha256-aGB0VuoC34YadAEqrwoaXLc5qla55pswDV2xLSmR7SE=" 404 + "version": "6.0.0", 405 + "hash": "sha256-7NZcKkiXWSuhhVcA/fXHPY/62aGUyMsRdiHm91cWC5Y=" 411 406 }, 412 407 { 413 408 "pname": "Microsoft.Extensions.Configuration.Binder", ··· 416 411 }, 417 412 { 418 413 "pname": "Microsoft.Extensions.Configuration.Binder", 419 - "version": "9.0.2", 420 - "hash": "sha256-lYWUfvSnpp9M4N4wIfFnMlB+8K79g9uUa1NXsgnxs0k=" 414 + "version": "9.0.6", 415 + "hash": "sha256-+8YG7cvbWUxJgrYJDy+Rk4rIzXS8HV0xU8Bg+3SFoTg=" 421 416 }, 422 417 { 423 418 "pname": "Microsoft.Extensions.Configuration.CommandLine", 424 - "version": "9.0.2", 425 - "hash": "sha256-qsEwiAO/n2+k8Q8/AftqdSlvvQWDx7WKb+9VlP8Nuxw=" 419 + "version": "9.0.6", 420 + "hash": "sha256-Mct/NLjPdur4M2h6aApzu9C7HrSpkxFis64wgloQk/g=" 426 421 }, 427 422 { 428 423 "pname": "Microsoft.Extensions.Configuration.EnvironmentVariables", 429 - "version": "9.0.2", 430 - "hash": "sha256-XgSdv8+zh2vXmhP+a31/+Y+mNLwQwLflfCiEtDemea0=" 424 + "version": "9.0.6", 425 + "hash": "sha256-hUJX5Xcj1iIvOr2oqZUfQXVQVMFyQb4OFetvQlW3hNQ=" 431 426 }, 432 427 { 433 428 "pname": "Microsoft.Extensions.Configuration.FileExtensions", 434 - "version": "9.0.2", 435 - "hash": "sha256-eeZbwf2lcV74mjXtOX8q0MxvP4QzEYyHXr1EGFS/orU=" 429 + "version": "9.0.6", 430 + "hash": "sha256-C0ChgI6hIRuShF9rSbN6TnRcfJHw2AHu4MtyfRuAKik=" 436 431 }, 437 432 { 438 433 "pname": "Microsoft.Extensions.Configuration.Json", 439 - "version": "9.0.2", 440 - "hash": "sha256-7/ewyjh0gXu798fYcJxOCkdaAPIzrJ8reuTzqz93IJ0=" 434 + "version": "9.0.6", 435 + "hash": "sha256-isxHMvYKIY0Jrfh2KHoOxzYnDdMaux3RPlernGCL6Uw=" 441 436 }, 442 437 { 443 438 "pname": "Microsoft.Extensions.Configuration.UserSecrets", 444 - "version": "9.0.2", 445 - "hash": "sha256-0OmAQn8gIqTPN4s0NkcidXivjq5LsEGiNVxmp3qxGoo=" 439 + "version": "9.0.6", 440 + "hash": "sha256-3ViPFoe1HzTKcuJkBoT7YadGRCv8woaQj4GRwaa4p+I=" 446 441 }, 447 442 { 448 443 "pname": "Microsoft.Extensions.DependencyInjection", 449 - "version": "9.0.2", 450 - "hash": "sha256-jNQVj2Xo7wzVdNDu27bLbYCVUOF8yDVrFtC3cZ9OsXo=" 444 + "version": "9.0.6", 445 + "hash": "sha256-m5vMZj3q3hHQDla/bKbfEk1lUj55p4/bktaqIWAVFRs=" 451 446 }, 452 447 { 453 448 "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", ··· 466 461 }, 467 462 { 468 463 "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", 469 - "version": "8.0.0", 470 - "hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8=" 471 - }, 472 - { 473 - "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", 474 464 "version": "8.0.2", 475 465 "hash": "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY=" 476 466 }, ··· 481 471 }, 482 472 { 483 473 "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", 484 - "version": "9.0.2", 485 - "hash": "sha256-WoTLgw/OlXhgN54Szip0Zpne7i/YTXwZ1ZLCPcHV6QM=" 474 + "version": "9.0.6", 475 + "hash": "sha256-40rY38OwSqueIWr/KMvJX9u+vipN+AaRQ6eNCZLqrog=" 486 476 }, 487 477 { 488 478 "pname": "Microsoft.Extensions.DependencyModel", ··· 496 486 }, 497 487 { 498 488 "pname": "Microsoft.Extensions.DependencyModel", 499 - "version": "9.0.2", 500 - "hash": "sha256-KqR0yrNi7S8rDje4RYjTEC98XG0rBreO4wkHGO6Llks=" 489 + "version": "9.0.6", 490 + "hash": "sha256-9cKF9wZidauZJ6GmwyqQ5P9YnrOlKdMZXzTLJWZflwo=" 501 491 }, 502 492 { 503 493 "pname": "Microsoft.Extensions.Diagnostics", 504 - "version": "9.0.2", 505 - "hash": "sha256-ImTZ6PZyKEdq1XvqYT5DPr6cG0BSTrsrO7rTDuy29fc=" 494 + "version": "9.0.6", 495 + "hash": "sha256-PoBv4gMAh53SAujZ3k7YUPuM/abxi5nHFvlHm67upEA=" 506 496 }, 507 497 { 508 498 "pname": "Microsoft.Extensions.Diagnostics.Abstractions", ··· 511 501 }, 512 502 { 513 503 "pname": "Microsoft.Extensions.Diagnostics.Abstractions", 514 - "version": "9.0.2", 515 - "hash": "sha256-JTJ8LCW3aYUO86OPgXRQthtDTUMikOfILExgeOF8CX4=" 504 + "version": "9.0.6", 505 + "hash": "sha256-3Bl1nIg0NoTbHaIXWmaRxutoxV1PSy6jlmKwPLdc5r4=" 516 506 }, 517 507 { 518 508 "pname": "Microsoft.Extensions.FileProviders.Abstractions", ··· 531 521 }, 532 522 { 533 523 "pname": "Microsoft.Extensions.FileProviders.Abstractions", 534 - "version": "9.0.2", 535 - "hash": "sha256-RmVshMCWW1/RE/Wk8AeT4r6uZ+XFuwDFYzdxYKSm440=" 524 + "version": "9.0.6", 525 + "hash": "sha256-/1jaqN44SNaRkyfwhH3KGDq/St1M1izCGUaPgkC9dIU=" 536 526 }, 537 527 { 538 528 "pname": "Microsoft.Extensions.FileProviders.Physical", 539 - "version": "9.0.2", 540 - "hash": "sha256-vQBgVLW813wOnJ1+943ArDWReok6p0jAl7fhwvyFtL8=" 529 + "version": "9.0.6", 530 + "hash": "sha256-vOKzQJqGkiGn0EyAx4Gx5po75H40g3rScySssce8vDs=" 541 531 }, 542 532 { 543 533 "pname": "Microsoft.Extensions.FileSystemGlobbing", 544 - "version": "9.0.2", 545 - "hash": "sha256-oH6X8SQjqi5Q2HLRILcUr9iPqnC1Ky5m5GbYYCKCxag=" 534 + "version": "9.0.6", 535 + "hash": "sha256-ehBRwCImAQ7n8XGI5KLtcp5+IWCd4GJO5l2gKtN4C08=" 546 536 }, 547 537 { 548 538 "pname": "Microsoft.Extensions.Hosting", 549 - "version": "9.0.2", 550 - "hash": "sha256-eI9ckarRX0UCX+mBsEBYdvHZrmN86bXyTRvbH4gU9JM=" 539 + "version": "9.0.6", 540 + "hash": "sha256-q/S5mPcZPfZz/fXofYj3KUi6CmUHTIV0yCtVPyXVsEU=" 551 541 }, 552 542 { 553 543 "pname": "Microsoft.Extensions.Hosting.Abstractions", ··· 566 556 }, 567 557 { 568 558 "pname": "Microsoft.Extensions.Hosting.Abstractions", 569 - "version": "9.0.2", 570 - "hash": "sha256-PUCam4g5g84qIqfPA9sVBNVPA26rWFq7js9nHF3WLZc=" 559 + "version": "9.0.6", 560 + "hash": "sha256-1Mzyk2Y5WZX0hCxpYpNumCdCTOsZsA+CUMqHOB07JrE=" 571 561 }, 572 562 { 573 563 "pname": "Microsoft.Extensions.Identity.Core", 574 - "version": "9.0.2", 575 - "hash": "sha256-5aLS+VE+FqHozXW4qFu5gyGpV8HqIfGzRnUV/zXM2/Q=" 564 + "version": "9.0.6", 565 + "hash": "sha256-gFnaok1z5JHYD4L8pkU6kPesPjh48iS+6fj0E/nYiGc=" 576 566 }, 577 567 { 578 568 "pname": "Microsoft.Extensions.Identity.Stores", 579 - "version": "9.0.2", 580 - "hash": "sha256-Em/aKN8WTmwg79RdK6+QDx1iVTR0qCK6/f54GW2HCjo=" 569 + "version": "9.0.6", 570 + "hash": "sha256-t2kjZDRxOkOB/vLLaZccojGlk5G1ZbqrxafWAmQCIj4=" 581 571 }, 582 572 { 583 573 "pname": "Microsoft.Extensions.Logging", ··· 586 576 }, 587 577 { 588 578 "pname": "Microsoft.Extensions.Logging", 589 - "version": "8.0.1", 590 - "hash": "sha256-vkfVw4tQEg86Xg18v6QO0Qb4Ysz0Njx57d1XcNuj6IU=" 591 - }, 592 - { 593 - "pname": "Microsoft.Extensions.Logging", 594 579 "version": "9.0.0", 595 580 "hash": "sha256-kR16c+N8nQrWeYLajqnXPg7RiXjZMSFLnKLEs4VfjcM=" 596 581 }, 597 582 { 598 583 "pname": "Microsoft.Extensions.Logging", 599 - "version": "9.0.2", 600 - "hash": "sha256-vPCb4ZoiwZUSGJIOhYiLwcZLnsd0ZZhny6KQkT88nI0=" 584 + "version": "9.0.6", 585 + "hash": "sha256-XFcRh5/aGtsNIUnEOLdusdpCVD7K6/6Ixwc2U/+a3c8=" 601 586 }, 602 587 { 603 588 "pname": "Microsoft.Extensions.Logging.Abstractions", ··· 606 591 }, 607 592 { 608 593 "pname": "Microsoft.Extensions.Logging.Abstractions", 594 + "version": "8.0.0", 595 + "hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4=" 596 + }, 597 + { 598 + "pname": "Microsoft.Extensions.Logging.Abstractions", 609 599 "version": "8.0.2", 610 600 "hash": "sha256-cHpe8X2BgYa5DzulZfq24rg8O2K5Lmq2OiLhoyAVgJc=" 611 601 }, ··· 616 606 }, 617 607 { 618 608 "pname": "Microsoft.Extensions.Logging.Abstractions", 619 - "version": "9.0.2", 620 - "hash": "sha256-mCxeuc+37XY0bmZR+z4p1hrZUdTZEg+FRcs/m6dAQDU=" 621 - }, 622 - { 623 - "pname": "Microsoft.Extensions.Logging.Configuration", 624 - "version": "8.0.1", 625 - "hash": "sha256-E2JbJG2EXlv2HUWLi17kIkAL6RC9rC2E18C3gAyOuaE=" 609 + "version": "9.0.6", 610 + "hash": "sha256-lhOMYT4+hua7SlgASGFBDhOkrNOsy35WyIxU3nVsD08=" 626 611 }, 627 612 { 628 613 "pname": "Microsoft.Extensions.Logging.Configuration", 629 - "version": "9.0.2", 630 - "hash": "sha256-SeNQ8us2cZ8xbJx8TK7xm3IxQR95EanSfMYhqvP2pWU=" 614 + "version": "9.0.6", 615 + "hash": "sha256-xc/isehpXfDHIKZ8QOywNBaYhACL8RgUx0bv9qa9OzQ=" 631 616 }, 632 617 { 633 618 "pname": "Microsoft.Extensions.Logging.Console", 634 - "version": "9.0.2", 635 - "hash": "sha256-yD30lW3ax4JHmZ9QIp1b0ELrXiwykP5KHF/feJGweyE=" 619 + "version": "9.0.6", 620 + "hash": "sha256-oxXnWS5RrxblaIwy5+g/KtztfvPmW/yZGaKlsy7Ft+E=" 636 621 }, 637 622 { 638 623 "pname": "Microsoft.Extensions.Logging.Debug", 639 - "version": "9.0.2", 640 - "hash": "sha256-0WP9jFTsbXCIhYx/2IFL69mv2+K3Ld7C4QvwY00iOD0=" 624 + "version": "9.0.6", 625 + "hash": "sha256-vWFQxQMsCOpkJB43ErwMGsBbhFhf/OMgOJf9NMfBmSk=" 641 626 }, 642 627 { 643 628 "pname": "Microsoft.Extensions.Logging.EventLog", 644 - "version": "9.0.2", 645 - "hash": "sha256-e4q/Z6xLq2HzQiKI7npagyEZdkfUe+FbIz3Tg+hPH9g=" 629 + "version": "9.0.6", 630 + "hash": "sha256-Lkf+emnZ4zzEkx8QdKvJ4SeFeKX0ckEnyIqn3sVOUqY=" 646 631 }, 647 632 { 648 633 "pname": "Microsoft.Extensions.Logging.EventSource", 649 - "version": "9.0.2", 650 - "hash": "sha256-W7yidllNOKxTvgIUqjJ3h55PAIR/XREfbuH+8TUhD0o=" 634 + "version": "9.0.6", 635 + "hash": "sha256-5V4gLVjJfBruNhxTVFE7Xx29u0oPL9ISe5U7rTV91Fg=" 651 636 }, 652 637 { 653 638 "pname": "Microsoft.Extensions.ObjectPool", ··· 661 646 }, 662 647 { 663 648 "pname": "Microsoft.Extensions.Options", 664 - "version": "8.0.0", 665 - "hash": "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw=" 666 - }, 667 - { 668 - "pname": "Microsoft.Extensions.Options", 669 649 "version": "8.0.2", 670 650 "hash": "sha256-AjcldddddtN/9aH9pg7ClEZycWtFHLi9IPe1GGhNQys=" 671 651 }, ··· 676 656 }, 677 657 { 678 658 "pname": "Microsoft.Extensions.Options", 679 - "version": "9.0.2", 680 - "hash": "sha256-y2jZfcWx/H6Sx7wklA248r6kPjZmzTTLGxW8ZxrzNLM=" 659 + "version": "9.0.6", 660 + "hash": "sha256-QXLt+WeCjH3pnbs0UVNXmskuWJtBrbNHOV8Of8w3teg=" 681 661 }, 682 662 { 683 663 "pname": "Microsoft.Extensions.Options.ConfigurationExtensions", ··· 686 666 }, 687 667 { 688 668 "pname": "Microsoft.Extensions.Options.ConfigurationExtensions", 689 - "version": "8.0.0", 690 - "hash": "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI=" 691 - }, 692 - { 693 - "pname": "Microsoft.Extensions.Options.ConfigurationExtensions", 694 - "version": "9.0.2", 695 - "hash": "sha256-xOYLRlXDI4gMEoQ+J+sQBNRT2RPDNrSCZkob7qBiV10=" 669 + "version": "9.0.6", 670 + "hash": "sha256-/aAiaoQqvXBWPqwKogYSVzkQg+Qvg0GWLImk3+W1FKc=" 696 671 }, 697 672 { 698 673 "pname": "Microsoft.Extensions.Primitives", ··· 711 686 }, 712 687 { 713 688 "pname": "Microsoft.Extensions.Primitives", 714 - "version": "9.0.2", 715 - "hash": "sha256-zy/YNMaY47o6yNv2WuYiAJEjtoOF8jlWgsWHqXeSm4s=" 689 + "version": "9.0.6", 690 + "hash": "sha256-hO2BmhEhL5sJUv0cf37jhsjr+gRCAJnQKOj38RKxJvo=" 716 691 }, 717 692 { 718 693 "pname": "Microsoft.IdentityModel.Abstractions", 719 - "version": "8.6.0", 720 - "hash": "sha256-0mXOkDKvUikcyCMUcmA7PWl4RlAwwUciKSqTTgLDa3o=" 694 + "version": "8.12.0", 695 + "hash": "sha256-xRK1JBycHk7WRcLgVsibjgiuLqJIiSxBTHu+FkJZ1xI=" 721 696 }, 722 697 { 723 698 "pname": "Microsoft.IdentityModel.JsonWebTokens", 724 - "version": "8.6.0", 725 - "hash": "sha256-Wey0xjL0n6NCi4HiVFGcDS6+ONPp+ogzb5ZTF7sFt3k=" 699 + "version": "8.12.0", 700 + "hash": "sha256-baDfyzHdTEiBl0bx8VYY9VpRzHi5pROMaKYW8KyevFY=" 726 701 }, 727 702 { 728 703 "pname": "Microsoft.IdentityModel.Logging", 729 - "version": "8.6.0", 730 - "hash": "sha256-4M4EUJDMDgmqdBxlbptnrLNWOLbmzatypDpl30CBUlk=" 704 + "version": "8.12.0", 705 + "hash": "sha256-ujv1tXP9oQacoeCoRxxICgf4ERfWhxC19W8EyybDJ18=" 731 706 }, 732 707 { 733 708 "pname": "Microsoft.IdentityModel.Protocols", ··· 746 721 }, 747 722 { 748 723 "pname": "Microsoft.IdentityModel.Tokens", 749 - "version": "8.6.0", 750 - "hash": "sha256-gyZpy8h9I09fr7icHaIXaxRTzhstHrrrq2wkd/5vz78=" 724 + "version": "8.12.0", 725 + "hash": "sha256-T9UoF+Z+bWnM+qFPoT+BzZF0MKZ6/kd7BoFJwiBUnxA=" 751 726 }, 752 727 { 753 728 "pname": "Microsoft.IO.RecyclableMemoryStream", ··· 776 751 }, 777 752 { 778 753 "pname": "Microsoft.OpenApi", 779 - "version": "1.6.22", 780 - "hash": "sha256-DDyPc6DAD/X4PgXlVIYqqU5KLwaIaMpvBml1fACKdjY=" 754 + "version": "1.6.23", 755 + "hash": "sha256-YD2oxM/tlNpK5xUeHF85xdqcpBzHioUSyRjpN2A7KcY=" 781 756 }, 782 757 { 783 758 "pname": "Microsoft.Win32.Primitives", ··· 786 761 }, 787 762 { 788 763 "pname": "Microsoft.Win32.SystemEvents", 789 - "version": "9.0.2", 790 - "hash": "sha256-WXgu8y2LT8OtQSVRojumtlTkJVjfvXeZ8N9iRKIW/lI=" 764 + "version": "9.0.6", 765 + "hash": "sha256-iIS1YZ8X8Zfahg2jOW3ODCZwmSSsp96epu+kT+wieQg=" 791 766 }, 792 767 { 793 768 "pname": "MimeKit", 794 - "version": "4.10.0", 795 - "hash": "sha256-SLQ7+Yh3o8bbxyRsA5yJgeAOkR8SqMI0vB8VwjQDzl8=" 769 + "version": "4.12.0", 770 + "hash": "sha256-4i/RvXyXQsb6LlEs7tZWz5d5ab8mw3R8Wwp7FXSbMaA=" 796 771 }, 797 772 { 798 773 "pname": "MimeTypeMapOfficial", ··· 816 791 }, 817 792 { 818 793 "pname": "NetVips", 819 - "version": "3.0.0", 820 - "hash": "sha256-n3FDtdgEA12gxzfQ2bz5HlMOBnht4mz0jFstBh5CN00=" 794 + "version": "3.1.0", 795 + "hash": "sha256-ZxbN+5JCLjyH23/2NPX/U0+5kbG20knpzouaZjpcrnA=" 821 796 }, 822 797 { 823 798 "pname": "NetVips.Native", 824 - "version": "8.16.0", 825 - "hash": "sha256-bHVoa9fWue4PY6FOIA0o3IU6WcMAK6VQOuQNADKD8S4=" 799 + "version": "8.17.0.1", 800 + "hash": "sha256-YrXEAP1OOQiYBKC4zfDnQQdsoK1SvbDzJIO97pij/dQ=" 826 801 }, 827 802 { 828 803 "pname": "NetVips.Native.linux-arm", 829 - "version": "8.16.0", 830 - "hash": "sha256-VY/mUqkeLJZeYvLM1VbEtXFVZPuLgIHK6tvbwq+CjQw=" 804 + "version": "8.17.0.1", 805 + "hash": "sha256-wI4MKuz850GngeYPEjIe31jZgZewcEz43KRs7VAV6aQ=" 831 806 }, 832 807 { 833 808 "pname": "NetVips.Native.linux-arm64", 834 - "version": "8.16.0", 835 - "hash": "sha256-ZXV8UmLFPVlk4tdFmoH/job43iS4ZchpM+gLJdFaoG8=" 809 + "version": "8.17.0.1", 810 + "hash": "sha256-ZXHK3qCvg04TXvgWnSX2gm7B7wjESCUhFq54YVLZ7UQ=" 836 811 }, 837 812 { 838 813 "pname": "NetVips.Native.linux-musl-arm64", 839 - "version": "8.16.0", 840 - "hash": "sha256-27EmQkg0IQ45tt7I8Gwnh442MuU5ouyIvPU0npcK2sI=" 814 + "version": "8.17.0.1", 815 + "hash": "sha256-V8yqPnCPKNR2dQXu4hzwlOkwxAFjgQN+IPF+FC8Lr+M=" 841 816 }, 842 817 { 843 818 "pname": "NetVips.Native.linux-musl-x64", 844 - "version": "8.16.0", 845 - "hash": "sha256-MMT4wt0YEl7ZDvrmwXMLvmoGzlVZQ97YyHjMSHsJHZs=" 819 + "version": "8.17.0.1", 820 + "hash": "sha256-D+Pnme5SH8NaUc4cnRLM+bsbl6PppfGKLyKWQROfmjA=" 846 821 }, 847 822 { 848 823 "pname": "NetVips.Native.linux-x64", 849 - "version": "8.16.0", 850 - "hash": "sha256-eXSMJoz39utbAy4hiLJ2MTxWpkfdvW62OqhI3nOSYZo=" 824 + "version": "8.17.0.1", 825 + "hash": "sha256-svruN0uUM29ogRU2L5sr6YdIgPuub67WvrY2ZMUigbs=" 851 826 }, 852 827 { 853 828 "pname": "NetVips.Native.osx-arm64", 854 - "version": "8.16.0", 855 - "hash": "sha256-tC2WmGzA/aItXj2dPunVt7Eu6pljV3334TcppN8NGqw=" 829 + "version": "8.17.0.1", 830 + "hash": "sha256-K7dVwkEcDKhAGpU+Y4W8KS6eVNPplDIFDcfB0ueTTxw=" 856 831 }, 857 832 { 858 833 "pname": "NetVips.Native.osx-x64", 859 - "version": "8.16.0", 860 - "hash": "sha256-yEfcmO33/dVgX5Qm72TouiQzw5yLPvFeveRRf/8gRs0=" 834 + "version": "8.17.0.1", 835 + "hash": "sha256-3V3Ht/wiOEOasxLBG7KABtGiy2zCDZL0XjGNHjt9dM4=" 861 836 }, 862 837 { 863 838 "pname": "NetVips.Native.win-arm64", 864 - "version": "8.16.0", 865 - "hash": "sha256-AFM66a+i8qqda8mEuvzt48RopYSh5zDeHE+PigETBKc=" 839 + "version": "8.17.0.1", 840 + "hash": "sha256-iVI049MGnGoqZqq87qkQnQKKSKt5ShrUqlP0DVFyTpI=" 866 841 }, 867 842 { 868 843 "pname": "NetVips.Native.win-x64", 869 - "version": "8.16.0", 870 - "hash": "sha256-+4j4lkE7wLd8MFKa/O1keT4Hgl3kKBg6PEAcc8dlCwA=" 844 + "version": "8.17.0.1", 845 + "hash": "sha256-vkCIMtzO7Uwf4rPmgLW/sO/LIXhS39O925pk+DbkhQA=" 871 846 }, 872 847 { 873 848 "pname": "NetVips.Native.win-x86", 874 - "version": "8.16.0", 875 - "hash": "sha256-kOE1SAqnf1ls3MQ4UkM4mheU7nKBFGOuFiQj5z8EL98=" 849 + "version": "8.17.0.1", 850 + "hash": "sha256-XN6+Ma3hTwCHv6A9A/7cP46OkNMtHE57b3ny3BBN7wo=" 876 851 }, 877 852 { 878 853 "pname": "Newtonsoft.Json", ··· 883 858 "pname": "Newtonsoft.Json", 884 859 "version": "11.0.2", 885 860 "hash": "sha256-YhlAbGfwoxQzxb3Hef4iyV9eGdPQJJNd2GgSR0jsBJ0=" 886 - }, 887 - { 888 - "pname": "NReco.Logging.File", 889 - "version": "1.2.2", 890 - "hash": "sha256-guI+h8t26u/DfYq354CXbdKIBqrKsDAyDZh1wFtDshw=" 891 861 }, 892 862 { 893 863 "pname": "runtime.any.System.Collections", ··· 1101 1071 }, 1102 1072 { 1103 1073 "pname": "Serilog", 1104 - "version": "4.2.0", 1105 - "hash": "sha256-7f3EpCsEbDxXgsuhE430KVI14p7oDUuCtwRpOCqtnbs=" 1074 + "version": "4.3.0", 1075 + "hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw=" 1106 1076 }, 1107 1077 { 1108 1078 "pname": "Serilog.AspNetCore", ··· 1156 1126 }, 1157 1127 { 1158 1128 "pname": "Serilog.Sinks.File", 1159 - "version": "6.0.0", 1160 - "hash": "sha256-KQmlUpG9ovRpNqKhKe6rz3XMLUjkBqjyQhEm2hV5Sow=" 1129 + "version": "7.0.0", 1130 + "hash": "sha256-LxZYUoUPkCjIIVarJilnXnqQiMrFNJtoRilmzTNtUjo=" 1161 1131 }, 1162 1132 { 1163 1133 "pname": "Serilog.Sinks.SignalR.Core", ··· 1166 1136 }, 1167 1137 { 1168 1138 "pname": "SharpCompress", 1169 - "version": "0.39.0", 1170 - "hash": "sha256-Me88MMn5NUiw5bugFKCKFRnFSXQKIFZJ+k97Ex6jgZE=" 1139 + "version": "0.40.0", 1140 + "hash": "sha256-pxz5ef//xOUClwuyflO0eLAfUItFcwfq74Cf0Hj5c1E=" 1171 1141 }, 1172 1142 { 1173 1143 "pname": "SixLabors.ImageSharp", 1174 - "version": "3.1.7", 1175 - "hash": "sha256-jMD/FiIwW1kNhTI6hKig8/QFOO3eTQX/C22cSAcKBH4=" 1144 + "version": "3.1.10", 1145 + "hash": "sha256-6bVTSCxLY8Dt+9lpo4F4xEtMv5oPve2vS76O/lcuIok=" 1176 1146 }, 1177 1147 { 1178 1148 "pname": "SonarAnalyzer.CSharp", 1179 - "version": "10.7.0.110445", 1180 - "hash": "sha256-HIG3Us7EnfaZOLKjxDRCJjaoqwqCdrFuDI2GlMGadp4=" 1149 + "version": "10.11.0.117924", 1150 + "hash": "sha256-A+5SRnNxUQiZPTPitY5duzstu/opDQGxwpGfQWWKDOk=" 1181 1151 }, 1182 1152 { 1183 1153 "pname": "sqlite-net-pcl", ··· 1226 1196 }, 1227 1197 { 1228 1198 "pname": "Swashbuckle.AspNetCore", 1229 - "version": "7.3.1", 1230 - "hash": "sha256-ZcTjOzUbSEIrlGPO/7M5C3wRqyhjZggNGJ3Sg6aUjf0=" 1199 + "version": "9.0.1", 1200 + "hash": "sha256-rJFeYQgpQ6O3nK0I0ovzh5k8NA/Hzp6kIxKRBryBBBw=" 1231 1201 }, 1232 1202 { 1233 1203 "pname": "Swashbuckle.AspNetCore.Filters", 1234 - "version": "8.0.2", 1235 - "hash": "sha256-RCFdFvCzUYS850axoGaprr0heFyBFCIu9jzusXJ0YAA=" 1204 + "version": "8.0.3", 1205 + "hash": "sha256-ZRSXCuRoo+t489TxEb9acXKrcdincwt937ydFkF7CuU=" 1236 1206 }, 1237 1207 { 1238 1208 "pname": "Swashbuckle.AspNetCore.Filters.Abstractions", 1239 - "version": "8.0.2", 1240 - "hash": "sha256-oe6KYmrvaAKu0JpAwxpIiyxSaqfRg2VAyc/KKQX6xFI=" 1209 + "version": "8.0.3", 1210 + "hash": "sha256-I7ubMVx9O9i3+vOWPjJHQaNvIhyHvMtlyGxFXbd7ChQ=" 1241 1211 }, 1242 1212 { 1243 1213 "pname": "Swashbuckle.AspNetCore.Swagger", 1244 - "version": "7.3.1", 1245 - "hash": "sha256-ifpw7iIFjFD1tqWuJeFxxQ9AQv4VKKbg7uk+EMzCISg=" 1214 + "version": "9.0.1", 1215 + "hash": "sha256-MgjUvPjRdrSVALtJL+kQZsL0siNVPUhVKzsc6VMKsLM=" 1246 1216 }, 1247 1217 { 1248 1218 "pname": "Swashbuckle.AspNetCore.SwaggerGen", ··· 1251 1221 }, 1252 1222 { 1253 1223 "pname": "Swashbuckle.AspNetCore.SwaggerGen", 1254 - "version": "7.3.1", 1255 - "hash": "sha256-ZgPqUgcK8iO+1cDqm4JxkJwg9atuj6f9uR2ty5z54Do=" 1224 + "version": "9.0.1", 1225 + "hash": "sha256-yRYM43099u0sH9uozOWAHSj0uLBOSEAp1zzR4RJCYEU=" 1256 1226 }, 1257 1227 { 1258 1228 "pname": "Swashbuckle.AspNetCore.SwaggerUI", 1259 - "version": "7.3.1", 1260 - "hash": "sha256-0VmUWgbdW9L7YO+Xb79RsPsEJjXpDj/twLas1OlHlUs=" 1229 + "version": "9.0.1", 1230 + "hash": "sha256-R1c/a5mMqstqSwm/PIj6FYa0fimE7ry4KibY6PUAuZQ=" 1261 1231 }, 1262 1232 { 1263 1233 "pname": "System.AppContext", ··· 1346 1316 }, 1347 1317 { 1348 1318 "pname": "System.Diagnostics.EventLog", 1349 - "version": "9.0.2", 1350 - "hash": "sha256-IoiQbH8To9UqzYgJzYpFbuiRV3KGU85y4ccPTyttP/w=" 1319 + "version": "9.0.6", 1320 + "hash": "sha256-Blj+uqyTHKp/qPkf/jM9wYC6xPcaaVZqE/jUBAQXmGY=" 1351 1321 }, 1352 1322 { 1353 1323 "pname": "System.Diagnostics.Tools", ··· 1361 1331 }, 1362 1332 { 1363 1333 "pname": "System.Drawing.Common", 1364 - "version": "9.0.2", 1365 - "hash": "sha256-S7IMV4R/nWbZs/YCwI9UwwLHDP57NkfSEIaoYNbRq54=" 1334 + "version": "9.0.6", 1335 + "hash": "sha256-uQDdDVOu3G39PPa1SbE7bHfTzQBAGzL705UklWl/y2I=" 1366 1336 }, 1367 1337 { 1368 1338 "pname": "System.Formats.Asn1", ··· 1386 1356 }, 1387 1357 { 1388 1358 "pname": "System.IdentityModel.Tokens.Jwt", 1389 - "version": "8.6.0", 1390 - "hash": "sha256-9usJvCIfrtI6T94wSXKGoL3UjZlE+F4LE4Y5zsD3LxI=" 1359 + "version": "8.12.0", 1360 + "hash": "sha256-lDwnRAe7YDT+Qi0b3BWzI4GK0YTztXIMXo++GLMARJI=" 1391 1361 }, 1392 1362 { 1393 1363 "pname": "System.IO", ··· 1396 1366 }, 1397 1367 { 1398 1368 "pname": "System.IO.Abstractions", 1399 - "version": "22.0.11", 1400 - "hash": "sha256-jFfPplSHoc8HfmLDexMustNaljMFiXK/CdH35vzju+4=" 1369 + "version": "22.0.14", 1370 + "hash": "sha256-Pi9mxp9Zt/ksfh1f6Su6t/rjFKb6SRR0RbVbLjGlJoQ=" 1401 1371 }, 1402 1372 { 1403 1373 "pname": "System.IO.Compression", ··· 1641 1611 }, 1642 1612 { 1643 1613 "pname": "System.Text.Json", 1644 - "version": "9.0.2", 1645 - "hash": "sha256-kftKUuGgZtF4APmp77U79ws76mEIi+R9+DSVGikA5y8=" 1614 + "version": "9.0.6", 1615 + "hash": "sha256-WC/QbZhTaoZ3PbDKcFvJwMIA4xLUdnMrAXGlOW87VNY=" 1646 1616 }, 1647 1617 { 1648 1618 "pname": "System.Text.RegularExpressions", ··· 1696 1666 }, 1697 1667 { 1698 1668 "pname": "TestableIO.System.IO.Abstractions", 1699 - "version": "22.0.11", 1700 - "hash": "sha256-zW1WYq/rHJF9DFzbSrVSejepEE32jtO6E0M6xSW3ZTI=" 1669 + "version": "22.0.14", 1670 + "hash": "sha256-DGtmN6InZDbI+jaw5j9h8308gopYxk0elRvVfZFjg9o=" 1701 1671 }, 1702 1672 { 1703 1673 "pname": "TestableIO.System.IO.Abstractions.Wrappers", 1704 - "version": "22.0.11", 1705 - "hash": "sha256-iy8sWpCe2+mG6zICnUT1qMEIz97DPcA6/P6KNonm9aM=" 1674 + "version": "22.0.14", 1675 + "hash": "sha256-FiVXyMKdep1aJm7Dxe3bP5S5WQ9aM2kCjePUhSi+cJY=" 1706 1676 }, 1707 1677 { 1708 1678 "pname": "Testably.Abstractions.FileSystem.Interface", ··· 1711 1681 }, 1712 1682 { 1713 1683 "pname": "VersOne.Epub", 1714 - "version": "3.3.2", 1715 - "hash": "sha256-jzkD4HDgFMevH8FRYml7UHEwMt7BWG+VpinIPlioIUo=" 1684 + "version": "3.3.4", 1685 + "hash": "sha256-BzUtRaxKkaG7tmXbvnWFM9vjf4g5XwhwnMUIdQzGlns=" 1716 1686 }, 1717 1687 { 1718 1688 "pname": "xunit.assert", ··· 1726 1696 }, 1727 1697 { 1728 1698 "pname": "ZstdSharp.Port", 1729 - "version": "0.8.4", 1730 - "hash": "sha256-4bFUNK++6yUOnY7bZQiibClSJUQjH0uIiUbQLBtPWbo=" 1699 + "version": "0.8.5", 1700 + "hash": "sha256-+UQFeU64md0LlSf9nMXif6hHnfYEKm+WRyYd0Vo2QvI=" 1731 1701 } 1732 1702 ]
-147
pkgs/servers/web-apps/kavita/restore-migrations.diff
··· 1 - diff --git a/API/Data/ManualMigrations/MigrateDisableScrobblingOnComicLibraries.cs b/API/Data/ManualMigrations/MigrateDisableScrobblingOnComicLibraries.cs 2 - new file mode 100644 3 - index 00000000..0de7bf5d 4 - --- /dev/null 5 - +++ b/API/Data/ManualMigrations/MigrateDisableScrobblingOnComicLibraries.cs 6 - @@ -0,0 +1,38 @@ 7 - +using System.Linq; 8 - +using System.Threading.Tasks; 9 - +using API.Entities.Enums; 10 - +using Microsoft.EntityFrameworkCore; 11 - +using Microsoft.Extensions.Logging; 12 - + 13 - +namespace API.Data.ManualMigrations; 14 - + 15 - +/// <summary> 16 - +/// v0.7.4 introduced Scrobbling with Kavita+. By default, it is on, but Comic libraries have no scrobble providers, so disable 17 - +/// </summary> 18 - +public static class MigrateDisableScrobblingOnComicLibraries 19 - +{ 20 - + public static async Task Migrate(IUnitOfWork unitOfWork, DataContext dataContext, ILogger<Program> logger) 21 - + { 22 - + if (!await dataContext.Library.Where(s => s.Type == LibraryType.Comic).Where(l => l.AllowScrobbling).AnyAsync()) 23 - + { 24 - + return; 25 - + } 26 - + logger.LogInformation("Running MigrateDisableScrobblingOnComicLibraries migration. Please be patient, this may take some time"); 27 - + 28 - + 29 - + foreach (var lib in await dataContext.Library.Where(s => s.Type == LibraryType.Comic).Where(l => l.AllowScrobbling).ToListAsync()) 30 - + { 31 - + lib.AllowScrobbling = false; 32 - + unitOfWork.LibraryRepository.Update(lib); 33 - + } 34 - + 35 - + if (unitOfWork.HasChanges()) 36 - + { 37 - + await unitOfWork.CommitAsync(); 38 - + } 39 - + 40 - + logger.LogInformation("MigrateDisableScrobblingOnComicLibraries migration finished"); 41 - + 42 - + } 43 - + 44 - +} 45 - diff --git a/API/Data/ManualMigrations/MigrateLoginRoles.cs b/API/Data/ManualMigrations/MigrateLoginRoles.cs 46 - new file mode 100644 47 - index 00000000..f649908a 48 - --- /dev/null 49 - +++ b/API/Data/ManualMigrations/MigrateLoginRoles.cs 50 - @@ -0,0 +1,36 @@ 51 - +using System.Threading.Tasks; 52 - +using API.Constants; 53 - +using API.Entities; 54 - +using Microsoft.AspNetCore.Identity; 55 - +using Microsoft.Extensions.Logging; 56 - + 57 - +namespace API.Data.ManualMigrations; 58 - + 59 - +/// <summary> 60 - +/// Added in v0.7.1.18 61 - +/// </summary> 62 - +public static class MigrateLoginRoles 63 - +{ 64 - + /// <summary> 65 - + /// Will not run if any users have the <see cref="PolicyConstants.LoginRole"/> role already 66 - + /// </summary> 67 - + /// <param name="unitOfWork"></param> 68 - + /// <param name="userManager"></param> 69 - + /// <param name="logger"></param> 70 - + public static async Task Migrate(IUnitOfWork unitOfWork, UserManager<AppUser> userManager, ILogger<Program> logger) 71 - + { 72 - + var usersWithRole = await userManager.GetUsersInRoleAsync(PolicyConstants.LoginRole); 73 - + if (usersWithRole.Count != 0) return; 74 - + 75 - + logger.LogCritical("Running MigrateLoginRoles migration"); 76 - + 77 - + var allUsers = await unitOfWork.UserRepository.GetAllUsersAsync(); 78 - + foreach (var user in allUsers) 79 - + { 80 - + await userManager.RemoveFromRoleAsync(user, PolicyConstants.LoginRole); 81 - + await userManager.AddToRoleAsync(user, PolicyConstants.LoginRole); 82 - + } 83 - + 84 - + logger.LogInformation("MigrateLoginRoles migration complete"); 85 - + } 86 - +} 87 - diff --git a/API/Data/ManualMigrations/MigrateRemoveWebPSettingRows.cs b/API/Data/ManualMigrations/MigrateRemoveWebPSettingRows.cs 88 - new file mode 100644 89 - index 00000000..07e98ef6 90 - --- /dev/null 91 - +++ b/API/Data/ManualMigrations/MigrateRemoveWebPSettingRows.cs 92 - @@ -0,0 +1,31 @@ 93 - +using System.Threading.Tasks; 94 - +using API.Entities.Enums; 95 - +using Microsoft.Extensions.Logging; 96 - + 97 - +namespace API.Data.ManualMigrations; 98 - + 99 - +/// <summary> 100 - +/// Added in v0.7.2.7/v0.7.3 in which the ConvertXToWebP Setting keys were removed. This migration will remove them. 101 - +/// </summary> 102 - +public static class MigrateRemoveWebPSettingRows 103 - +{ 104 - + public static async Task Migrate(IUnitOfWork unitOfWork, ILogger<Program> logger) 105 - + { 106 - + logger.LogCritical("Running MigrateRemoveWebPSettingRows migration - Please be patient, this may take some time. This is not an error"); 107 - + 108 - + var key = await unitOfWork.SettingsRepository.GetSettingAsync(ServerSettingKey.ConvertBookmarkToWebP); 109 - + var key2 = await unitOfWork.SettingsRepository.GetSettingAsync(ServerSettingKey.ConvertCoverToWebP); 110 - + if (key == null && key2 == null) 111 - + { 112 - + logger.LogCritical("Running MigrateRemoveWebPSettingRows migration - complete. Nothing to do"); 113 - + return; 114 - + } 115 - + 116 - + unitOfWork.SettingsRepository.Remove(key); 117 - + unitOfWork.SettingsRepository.Remove(key2); 118 - + 119 - + await unitOfWork.CommitAsync(); 120 - + 121 - + logger.LogCritical("Running MigrateRemoveWebPSettingRows migration - Completed. This is not an error"); 122 - + } 123 - +} 124 - diff --git a/API/Startup.cs b/API/Startup.cs 125 - index 21c4fa45..04f4a077 100644 126 - --- a/API/Startup.cs 127 - +++ b/API/Startup.cs 128 - @@ -232,11 +232,19 @@ public class Startup 129 - Task.Run(async () => 130 - { 131 - // Apply all migrations on startup 132 - + var userManager = serviceProvider.GetRequiredService<UserManager<AppUser>>(); 133 - var dataContext = serviceProvider.GetRequiredService<DataContext>(); 134 - 135 - 136 - logger.LogInformation("Running Migrations"); 137 - 138 - + // v0.7.2 139 - + await MigrateLoginRoles.Migrate(unitOfWork, userManager, logger); 140 - + // v0.7.3 141 - + await MigrateRemoveWebPSettingRows.Migrate(unitOfWork, logger); 142 - + // v0.7.4 143 - + await MigrateDisableScrobblingOnComicLibraries.Migrate(unitOfWork, dataContext, logger); 144 - + 145 - // v0.7.9 146 - await MigrateUserLibrarySideNavStream.Migrate(unitOfWork, dataContext, logger); 147 -