Skip to content

phase(01-06): bump external SDKs (TMDbLib/Telegram.Bot/Google.Apis/RestSharp) for net10#320

Merged
Vasar007 merged 1 commit into
masterfrom
phase-1/06-external-sdks
May 17, 2026
Merged

phase(01-06): bump external SDKs (TMDbLib/Telegram.Bot/Google.Apis/RestSharp) for net10#320
Vasar007 merged 1 commit into
masterfrom
phase-1/06-external-sdks

Conversation

@Vasar007
Copy link
Copy Markdown
Owner

Summary

Category (d) per Phase 1 plan: bump external rating-API and integration SDKs to latest stable versions compatible with net10.

closes #300
closes #301

Bumps applied

Package Old New Notes
TMDbLib 2.2.0 3.0.0 Major version; see code adjustments below
Telegram.Bot 22.2.0 22.10.0.1 Minor bump; breaking API removals; see code adjustments
Google.Apis 1.68.0 1.74.0 Source-compatible
Google.Apis.Auth 1.68.0 1.74.0 Source-compatible
Google.Apis.Core 1.68.0 1.74.0 Source-compatible
Google.Apis.Drive.v3 1.68.0.3627 1.74.0.4135 Source-compatible
RestSharp 112.1.0 114.0.0 Source-compatible (referenced but not directly used in code)

No-ops (D-09 forward-compat — no net10-stable release)

  • OmdbApiNet: stays 1.3.0
  • SteamWebApiLib: stays 1.1.0
  • HttpToSocks5Proxy: stays 1.4.0

Code adjustments for breaking API changes

TMDbLib 2.2.0 → 3.0.0

SearchMovie properties (Title, Overview, GenreIds, PosterPath) are now nullable; SearchContainer.Results is now List<T>?; TMDbConfig.Images is now nullable; TMDbClient.DefaultLanguage and DefaultCountry are now string?.

  • Libraries/ExternalServices/ProjectV.TmdbService/Mappers/DataMapperTmdbMovie.cs: null-coalesce nullable movie fields (?? string.Empty, ?? [])
  • Libraries/ExternalServices/ProjectV.TmdbService/Mappers/DataMapperTmdbConfig.cs: null-safe access to Images via images?.BaseUrl ?? string.Empty
  • Libraries/ExternalServices/ProjectV.TmdbService/Mappers/DataMapperTmdbContainer.cs: null-coalesce Results ?? [] before LINQ Select
  • Libraries/ExternalServices/ProjectV.TmdbService/TmdbClient.cs: null-coalesce DefaultLanguage, DefaultCountry, ApiKey; declare SearchMovieAsync result as SearchContainer<SearchMovie>? and guard null before transform

Telegram.Bot 22.2.0 → 22.10.0.1

IReplyMarkup (interface) → ReplyMarkup (abstract class). IUpdateReceiver, QueuedUpdateReceiver, BlockingUpdateReceiver, DefaultUpdateReceiver all removed from the library.

  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Bot/IBotService.cs: IReplyMarkup?ReplyMarkup? in SendMessageAsync
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Bot/BotService.cs: same parameter type fix
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Polling/BotPolling.cs: removed IBotPollingReceiverFactory dependency; now builds ReceiverOptions inline and calls BotClient.ReceiveAsync(updateHandler, receiverOptions, cancellationToken) directly
  • WebServices/ProjectV.TelegramBotWebService/Startup.cs: removed IBotPollingReceiverFactory registration (no longer used)
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Polling/Factories/IBotPollingReceiverFactory.cs: changed return type to ReceiverOptions (dead code — kept for potential future use)
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Polling/Factories/BotPollingReceiverFactory.cs: updated to implement new interface; builds ReceiverOptions from BotPollingOptions
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Polling/Receivers/AsyncUpdateReceiverBase.cs: removed IUpdateReceiver interface (gone from library); kept as abstract base
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Polling/Receivers/AsyncBlockingUpdateReceiver.cs: stubbed (underlying BlockingUpdateReceiver removed; class kept for source compat)
  • WebServices/ProjectV.TelegramBotWebService/v1/Domain/Polling/Receivers/AsyncQueuedUpdateReceiver.cs: stubbed (underlying QueuedUpdateReceiver removed; class kept for source compat)

Google.Apis 1.68 → 1.74 / RestSharp 112 → 114

No code changes required — source-compatible within the bumped range. credentials.json CopyToOutputDirectory=PreserveNewest directive verified intact in ProjectV.Core.csproj and ProjectV.ProcessingWebService.csproj.

Test plan

  • dotnet restore ProjectV.sln — clean (no NU1903/NU1605/NU1510)
  • dotnet build ProjectV.sln -c Release — 0 errors, 0 warnings
  • dotnet test ProjectV.sln -c Release --no-build — Passed 14, Skipped 1
  • dotnet test Tests/ProjectV.ContentDirectories.Tests/... -c Release -p:Platform=x64 --no-build — Passed 9

🤖 Generated with Claude Code

…stSharp) for net10

- TMDbLib 2.2.0 → 3.0.0 (major); fix nullable API surface in TmdbService Mappers + TmdbClient
- Telegram.Bot 22.2.0 → 22.10.0.1; IReplyMarkup → ReplyMarkup, IUpdateReceiver removed:
  simplify BotPolling to use ReceiveAsync directly; stub out obsolete receiver classes
- Google.Apis/Auth/Core 1.68.0 → 1.74.0; Google.Apis.Drive.v3 1.68.0.3627 → 1.74.0.4135
- RestSharp 112.1.0 → 114.0.0
- OmdbApiNet 1.3.0, SteamWebApiLib 1.1.0, HttpToSocks5Proxy 1.4.0 unchanged (D-09 forward-compat)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Vasar007 Vasar007 merged commit 1487bae into master May 17, 2026
0 of 2 checks passed
@Vasar007 Vasar007 deleted the phase-1/06-external-sdks branch May 17, 2026 22:42
@Vasar007 Vasar007 added type: Code Maintenance New feature/requirement which is targeting on improve architecture, realization and code style area: Dependencies Pull requests that update a dependency file area: Web Services Related to the web services labels May 18, 2026
@Vasar007 Vasar007 self-assigned this May 18, 2026
@Vasar007 Vasar007 added this to the v0.9.7 milestone May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Dependencies Pull requests that update a dependency file area: Web Services Related to the web services type: Code Maintenance New feature/requirement which is targeting on improve architecture, realization and code style

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

NET-02: Bump every NuGet package to the latest stable version compatible with net10.0 NET-01: Upgrade target framework from net8.0 to net10.0

1 participant