Upgrade project to .NET 10 (net10.0-windows) - #5
Merged
Conversation
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.
There was a problem hiding this comment.
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 withPackageReference. - Updates dependencies (InfluxData.Net, Scintilla5.NET, log4net, Newtonsoft.Json, System.Configuration.ConfigurationManager) and adjusts config accordingly.
- Refactors SSL handling away from
ServicePointManagerto per-clientHttpClientHandler.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.
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.
Owner
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports the .NET 10 upgrade (originally opened against meverett/InfluxDBStudio meverett#62) to this fork, based on the current master.
What changed
net10.0-windows(Windows-only)..csprojand replacedpackages.configwithPackageReference.ServicePointManagerSSL trust with anHttpClientHandler.ServerCertificateCustomValidationCallbackapplied per client.UseShellExecute(ProcessStartInfo).<startup>/<runtime>sections.Code changes
Lexer = ScintillaNET.Lexer.SqlAPI withLexerName = "sql".Build fixes
Attribution / versioning
Verification
dotnet build -c Debugand-c Releasesucceed with 0 errors. Native Scintilla.dll deploys toruntimes/win-x64/native.Notes