Skip to content

feat: upgrade to .NET 10 - #59

Merged
Webbanditten merged 1 commit into
masterfrom
feature/net10-upgrade
Jul 14, 2026
Merged

feat: upgrade to .NET 10#59
Webbanditten merged 1 commit into
masterfrom
feature/net10-upgrade

Conversation

@Webbanditten

Copy link
Copy Markdown
Owner
  • Target net10.0; Microsoft packages to 10.0.x, MySql.EntityFrameworkCore 5.0.8 -> 10.0.7 (EF Core 10), Sentry.AspNetCore 6.6.0, RabbitMQ.Client 6.8.1 (stay on 6.x sync API), ImageSharp 3.1.12
  • Replace all System.Drawing.Common usage with pure ImageSharp (GDI+ is Windows-only since .NET 7): rewrite TrimBitmap as ImageSharp Trim, map Rotate180FlipY to horizontal flip, drop Bitmap round-trips and the dead System.Drawing.EnableUnixSupport runtimeconfig switch
  • Replace removed [MySqlCollation] attribute with UseCollation in DataContext; rewrite string-collection Contains in GetOtherAccounts as correlated EXISTS (untranslatable in MySQL EF provider 10)
  • Dockerfile: .NET 10 images, ASPNETCORE_HTTP_PORTS=80 (base image defaults to 8080 since .NET 8), drop libgdiplus, Node 16 -> 22 LTS
  • Disable static web asset precompression (SDK 10 emits .br/.gz that break Avatara/Chroma name-contains file scans on Linux)
  • Sentry 6 throws on missing DSN: add explicit empty DSN default
  • Hoist promos declaration in News.cshtml for .NET 10 Razor scoping

Verified: builds clean; Windows + Linux-container smoke tests against MariaDB 10.4.18 and RabbitMQ (front page, avatar/furni imaging paths render byte-identical PNGs cross-platform).

- Target net10.0; Microsoft packages to 10.0.x, MySql.EntityFrameworkCore
  5.0.8 -> 10.0.7 (EF Core 10), Sentry.AspNetCore 6.6.0, RabbitMQ.Client
  6.8.1 (stay on 6.x sync API), ImageSharp 3.1.12
- Replace all System.Drawing.Common usage with pure ImageSharp (GDI+ is
  Windows-only since .NET 7): rewrite TrimBitmap as ImageSharp Trim,
  map Rotate180FlipY to horizontal flip, drop Bitmap round-trips and
  the dead System.Drawing.EnableUnixSupport runtimeconfig switch
- Replace removed [MySqlCollation] attribute with UseCollation in
  DataContext; rewrite string-collection Contains in GetOtherAccounts
  as correlated EXISTS (untranslatable in MySQL EF provider 10)
- Dockerfile: .NET 10 images, ASPNETCORE_HTTP_PORTS=80 (base image
  defaults to 8080 since .NET 8), drop libgdiplus, Node 16 -> 22 LTS
- Disable static web asset precompression (SDK 10 emits .br/.gz that
  break Avatara/Chroma name-contains file scans on Linux)
- Sentry 6 throws on missing DSN: add explicit empty DSN default
- Hoist promos declaration in News.cshtml for .NET 10 Razor scoping

Verified: builds clean; Windows + Linux-container smoke tests against
MariaDB 10.4.18 and RabbitMQ (front page, avatar/furni imaging paths
render byte-identical PNGs cross-platform).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019FScrkzPi1yqZFoFHw6S2R
@github-actions

Copy link
Copy Markdown

The pre-release image can be pulled using: docker pull ghcr.io/webbanditten/keplercms:prerelease-c5fb5a3b0036a47e2dce7b275e895b97ae22b561

@Webbanditten
Webbanditten merged commit a55c67f into master Jul 14, 2026
2 checks passed
@Webbanditten
Webbanditten deleted the feature/net10-upgrade branch July 14, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant