Skip to content

Upgrade project to .NET 10 (net10.0-windows) - #5

Merged
mr-manuel merged 7 commits into
mr-manuel:masterfrom
ndavat:feature/upgrade10-mr-manuel
Aug 18, 2026
Merged

Upgrade project to .NET 10 (net10.0-windows)#5
mr-manuel merged 7 commits into
mr-manuel:masterfrom
ndavat:feature/upgrade10-mr-manuel

Conversation

@ndavat

@ndavat ndavat commented Aug 17, 2026

Copy link
Copy Markdown

Ports the .NET 10 upgrade (originally opened against meverett/InfluxDBStudio meverett#62) to this fork, based on the current master.

What changed

  • Migrated from .NET Framework to .NET 10 targeting net10.0-windows (Windows-only).
  • Converted the project to an SDK-style .csproj and replaced packages.config with PackageReference.
  • Upgraded dependencies: InfluxData.Net 8.0.1, Scintilla5.NET 7.0.0, log4net 3.3.2, Newtonsoft.Json 13.0.4, System.Configuration.ConfigurationManager 10.0.11.
  • Replaced the obsolete ServicePointManager SSL trust with an HttpClientHandler.ServerCertificateCustomValidationCallback applied per client.
  • Updated the About dialog links to open with UseShellExecute (ProcessStartInfo).
  • App.config: removed the legacy <startup>/<runtime> sections.
  • Bumped assembly version to 0.3.0.0 and added a v0.3.0.0 entry to CHANGELOG.md.

Code changes

  • SslIgnoreValidator: replace the obsolete ServicePointManager / ServerCertificateValidationCallback approach with an HttpClient built on HttpClientHandler.ServerCertificateCustomValidationCallback, applied per-client when AllowUntrusted is enabled.
  • InfluxDataNetClient: use the 7-argument InfluxDbClient constructor with QueryLocation.FormData, the dedicated HttpClient, and throwOnWarning=false.
  • App.config: removed the legacy and sections; switched the userSettings section handler to System.Configuration.ClientSettingsSection (System.Configuration.ConfigurationManager), keeping the log4net section.
  • Scintilla designer files (ContinuousQueryControl, QueryControl, RunningQueriesControl, BackFillDialog, CreateContinuousQueryDialog): replaced the removed Lexer = ScintillaNET.Lexer.Sql API with LexerName = "sql".
  • AboutDialog.cs: replaced the deprecated Process.Start(string) overloads with Process.Start(new ProcessStartInfo { FileName, UseShellExecute = true }).

Build fixes

  • Suppressed WFO1000 (Windows Forms designer property-serialization errors for runtime-assigned custom properties) via .
  • Added [assembly: SupportedOSPlatform("Windows")] in AssemblyInfo.cs to silence CA1416 Windows-only API warnings.
  • Added NU1510 to for transitive package-version upper bounds.

Attribution / versioning

  • Replaced the original author credit with "ndavat" in AssemblyInfo.cs (AssemblyCopyright), AboutDialog copyright label, and LICENSE.
  • Bumped assembly version 0.2.2.0 -> 0.3.0.0.
  • Updated project GitHub links to ndavat/InfluxDBStudio in README.md and AboutDialog.cs; left third-party links (InfluxData.Net) unchanged.
  • README.md: documented .NET 10 SDK / VS 2022 prerequisites, build command, and run path; added current build/version note and ndavat copyright line.

Verification

dotnet build -c Debug and -c Release succeed with 0 errors. Native Scintilla.dll deploys to runtimes/win-x64/native.
Notes

  • The 16-file diff is purely the .NET 10 upgrade (mr-manuel's 3 existing commits are already in his master, which is why behind=0).
  • Two files worth a maintainer glance: CymaticLabs.InfluxDB.Studio.csproj (full SDK rewrite, −603 lines) and SslIgnoreValidator.cs (SSL handling rework).

ndavat added 5 commits August 14, 2026 17:51
Migrate InfluxDB Studio from .NET Framework 4.6.1 to .NET 10, targeting
net10.0-windows only. The project was previously partially migrated on this
branch; this commit completes a clean, working upgrade.

Project system
- Convert CymaticLabs.InfluxDB.Studio.csproj to SDK-style (was legacy
  MSBuild/VS2015 format, ~600 lines reduced to a small SDK project).
- Replace packages.config with PackageReference items.
- Enable Windows Forms via <UseWindowsForms>true</UseWindowsForms>.
- Set <GenerateAssemblyInfo>false</GenerateAssemblyInfo> (kept existing
  AssemblyInfo.cs) and <SupportedOSPlatformVersion>7.0</SupportedOSPlatformVersion>.

Package upgrades
- InfluxData.Net 8.0.1 (from 6.0.5)
- Scintilla5.NET 7.0.0 (replaces ScintillaNET)
- log4net 3.3.2
- Newtonsoft.Json 13.0.4
- System.Configuration.ConfigurationManager 10.0.11

Code changes
- SslIgnoreValidator: replace the obsolete ServicePointManager /
  ServerCertificateValidationCallback approach with an HttpClient built on
  HttpClientHandler.ServerCertificateCustomValidationCallback, applied
  per-client when AllowUntrusted is enabled.
- InfluxDataNetClient: use the 7-argument InfluxDbClient constructor with
  QueryLocation.FormData, the dedicated HttpClient, and throwOnWarning=false.
- App.config: removed the legacy <startup> and <runtime> sections; switched
  the userSettings section handler to System.Configuration.ClientSettingsSection
  (System.Configuration.ConfigurationManager), keeping the log4net section.
- Scintilla designer files (ContinuousQueryControl, QueryControl,
  RunningQueriesControl, BackFillDialog, CreateContinuousQueryDialog):
  replaced the removed `Lexer = ScintillaNET.Lexer.Sql` API with
  `LexerName = "sql"`.
- AboutDialog.cs: replaced the deprecated Process.Start(string) overloads
  with Process.Start(new ProcessStartInfo { FileName, UseShellExecute = true }).

Build fixes
- Suppressed WFO1000 (Windows Forms designer property-serialization errors
  for runtime-assigned custom properties) via <NoWarn>.
- Added [assembly: SupportedOSPlatform("Windows")] in AssemblyInfo.cs to
  silence CA1416 Windows-only API warnings.
- Added NU1510 to <NoWarn> for transitive package-version upper bounds.

Attribution / versioning
- Replaced the original author credit with "ndavat" in AssemblyInfo.cs
  (AssemblyCopyright), AboutDialog copyright label, and LICENSE.
- Bumped assembly version 0.2.0.0 -> 0.3.0.0.
- Updated project GitHub links to ndavat/InfluxDBStudio in README.md and
  AboutDialog.cs; left third-party links (InfluxData.Net) unchanged.
- README.md: documented .NET 10 SDK / VS 2022 prerequisites, build command,
  and run path; added current build/version note and ndavat copyright line.

Verification
- `dotnet build -c Debug` and `-c Release` succeed with 0 errors
  (one pre-existing benign CS0169 warning remains).
- Native Scintilla.dll is correctly deployed to
  runtimes/win-x64/native on build.
…0-mr-manuel

# Conflicts:
#	README.md
#	src/CymaticLabs.InfluxDB.Studio/App.config
#	src/CymaticLabs.InfluxDB.Studio/CymaticLabs.InfluxDB.Studio.csproj
#	src/CymaticLabs.InfluxDB.Studio/Data/InfluxDataNetClient.cs
#	src/CymaticLabs.InfluxDB.Studio/Data/SslIgnoreValidator.cs
#	src/CymaticLabs.InfluxDB.Studio/Dialogs/AboutDialog.Designer.cs
#	src/CymaticLabs.InfluxDB.Studio/Dialogs/AboutDialog.cs
#	src/CymaticLabs.InfluxDB.Studio/Properties/AssemblyInfo.cs
#	src/CymaticLabs.InfluxDB.Studio/packages.config
Captures the remaining .NET 10 upgrade work for the port to
mr-manuel/InfluxDBStudio that was not included in the earlier merge commit.

About dialog
- Position the version label relative to the title
  (versionLabel.Left = titleLabel.Right + 6) so there is no gap/overlap
  regardless of the title's rendered width.
- Update the project website link to https://github.com/mr-manuel/InfluxDBStudio
  and open it via ProcessStartInfo with UseShellExecute = true (avoids the
  deprecated Process.Start(string) overload on .NET).

Attribution
- Set copyright to "Copyright © ndavat" in AssemblyInfo.cs and in the About
  dialog (copyrightLabel).

Documentation
- CHANGELOG.md: add a v0.3.0.0 section describing the .NET 10 upgrade
  (SDK-style project, PackageReference, Scintilla5.NET, HttpClientHandler SSL,
  dependency bumps, App.config cleanup).
- README.md: add a short v0.3.0.0 / .NET 10 upgrade note near the top.

Notes
- This also stages the AboutDialog.Designer.cs / AboutDialog.cs / AssemblyInfo.cs
  conflict resolutions from the mr-manuel merge that were skipped by the earlier
  `git add -u` while those files were still marked unmerged.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades InfluxDB Studio to a modern Windows-only .NET runtime (net10.0-windows) by migrating the project to SDK-style MSBuild with PackageReference, updating dependencies, and adapting runtime behaviors (WinForms designer + Scintilla lexer API + SSL handling) for .NET.

Changes:

  • Migrates the WinForms app from .NET Framework to .NET 10 (net10.0-windows) and converts the project to SDK-style with PackageReference.
  • Updates dependencies (InfluxData.Net, Scintilla5.NET, log4net, Newtonsoft.Json, System.Configuration.ConfigurationManager) and adjusts config accordingly.
  • Refactors SSL handling away from ServicePointManager to per-client HttpClientHandler.ServerCertificateCustomValidationCallback, and updates docs/versioning.

Reviewed changes

Copilot reviewed 10 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/CymaticLabs.InfluxDB.Studio/Properties/AssemblyInfo.cs Adds Windows platform annotation and bumps assembly version metadata.
src/CymaticLabs.InfluxDB.Studio/packages.config Removes legacy packages.config in favor of PackageReference.
src/CymaticLabs.InfluxDB.Studio/Dialogs/CreateContinuousQueryDialog.Designer.cs Updates Scintilla lexer configuration to LexerName = "sql".
src/CymaticLabs.InfluxDB.Studio/Dialogs/BackFillDialog.Designer.cs Updates Scintilla lexer configuration to LexerName = "sql".
src/CymaticLabs.InfluxDB.Studio/Dialogs/AboutDialog.Designer.cs Updates About dialog displayed attribution/updated text.
src/CymaticLabs.InfluxDB.Studio/Dialogs/AboutDialog.cs Updates Process.Start usage and adjusts version label positioning.
src/CymaticLabs.InfluxDB.Studio/Data/SslIgnoreValidator.cs Reworks SSL certificate validation behavior to be per-HttpClient/handler.
src/CymaticLabs.InfluxDB.Studio/Data/InfluxDataNetClient.cs Updates InfluxDB client construction for new library/runtime usage.
src/CymaticLabs.InfluxDB.Studio/CymaticLabs.InfluxDB.Studio.csproj Converts project to SDK-style, targets net10.0-windows, and adds package references.
src/CymaticLabs.InfluxDB.Studio/App.config Updates config section handlers for System.Configuration.ConfigurationManager; removes legacy runtime/startup sections.
README.md Updates build/run instructions and version notes for .NET 10.
LICENSE Updates copyright year text.
CHANGELOG.md Adds v0.3.0.0 entry documenting the .NET 10 upgrade and related changes.
src/CymaticLabs.InfluxDB.Studio/Controls/RunningQueriesControl.Designer.cs Updates Scintilla lexer configuration to LexerName = "sql".
src/CymaticLabs.InfluxDB.Studio/Controls/QueryControl.Designer.cs Updates Scintilla lexer configuration to LexerName = "sql".
src/CymaticLabs.InfluxDB.Studio/Controls/ContinuousQueryControl.Designer.cs Updates Scintilla lexer configuration to LexerName = "sql".
Files not reviewed (6)
  • src/CymaticLabs.InfluxDB.Studio/Controls/ContinuousQueryControl.Designer.cs: Generated file
  • src/CymaticLabs.InfluxDB.Studio/Controls/QueryControl.Designer.cs: Generated file
  • src/CymaticLabs.InfluxDB.Studio/Controls/RunningQueriesControl.Designer.cs: Generated file
  • src/CymaticLabs.InfluxDB.Studio/Dialogs/AboutDialog.Designer.cs: Generated file
  • src/CymaticLabs.InfluxDB.Studio/Dialogs/BackFillDialog.Designer.cs: Generated file
  • src/CymaticLabs.InfluxDB.Studio/Dialogs/CreateContinuousQueryDialog.Designer.cs: Generated file
Suppressed comments (2)

src/CymaticLabs.InfluxDB.Studio/Data/InfluxDataNetClient.cs:166

  • Same issue here: the ALTER RETENTION POLICY query uses swapped format arguments and an extra unused argument, producing an invalid query.
                var alterResponse = await influx.Client.QueryAsync(string.Format("ALTER RETENTION POLICY \"{0}\" ON \"{1}\" DEFAULT",database, policyName, database)).ConfigureAwait(false);

README.md:466

  • README license link still points to mr-manuel/InfluxDBStudio, but the PR description says project links were updated to ndavat/InfluxDBStudio. Update this link (or keep it consistent with whichever repo is intended as the source of truth).
Code and documentation are available according to the *MIT* License (see [LICENSE](https://github.com/mr-manuel/InfluxDBStudio/blob/master/LICENSE)).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/CymaticLabs.InfluxDB.Studio/Data/InfluxDataNetClient.cs Outdated
Comment thread src/CymaticLabs.InfluxDB.Studio/Data/SslIgnoreValidator.cs Outdated
Comment thread src/CymaticLabs.InfluxDB.Studio/Dialogs/AboutDialog.cs
Comment thread README.md
Comment thread src/CymaticLabs.InfluxDB.Studio/Properties/AssemblyInfo.cs
ndavat and others added 2 commits August 17, 2026 19:39
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…e toggle

- ALTER RETENTION POLICY: fix swapped format arguments and remove extra unused 'database' arg (both CreateRetentionPolicyAsync and AlterRetentionPolicyAsync); fix indentation.
- SslIgnoreValidator: always install ServerCertificateCustomValidationCallback that consults the current AllowUntrusted value so the runtime setting toggle takes effect on existing clients.
@mr-manuel

Copy link
Copy Markdown
Owner

Thanks!

@mr-manuel
mr-manuel merged commit 183d80f into mr-manuel:master Aug 18, 2026
1 check failed
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.

3 participants