Skip to content

deps: bump Daqifi.Core to 0.20.0#505

Merged
tylerkron merged 1 commit intomainfrom
deps/daqifi-core-0.20.0
Apr 26, 2026
Merged

deps: bump Daqifi.Core to 0.20.0#505
tylerkron merged 1 commit intomainfrom
deps/daqifi-core-0.20.0

Conversation

@tylerkron
Copy link
Copy Markdown
Contributor

Summary

Bumps the Daqifi.Core device-protocol/HAL package from 0.19.7 → 0.20.0 in the three csproj files that reference it (Daqifi.Desktop, Daqifi.Desktop.DataModel, Daqifi.Desktop.IO). All three were kept in lockstep.

Upstream release notes: https://github.com/daqifi/daqifi-core/releases/tag/v0.20.0

What's in 0.19.7 → 0.20.0

There are no intermediate releases between 0.19.7 and 0.20.0, so this is a single release-note hop.

Change Type Impact on desktop
New Daqifi.Core.Logging.Export namespace (ISampleSource, ChannelDescriptor, SampleRow, CsvExporter, etc.) — storage-agnostic CSV export pipeline (core#167) ✨ Additive None — purely new API surface, no name collisions with our exporter code
Dropped net8.0 support — package now ships net9.0 and net10.0 only (core#175) ⚠ Breaking None — every project here targets net10.0 or net10.0-windows (PR #499 / PR #503 already migrated us off net9)
README refresh for current API surface and target frameworks (core#176) docs None
Coverlet packages 8.0.1 → 10.0.0 (core#177) chore (test-only, internal to core) None
Minor/patch transitive bumps (core#178) chore None

Net result: zero code changes required here. Single bump commit; no follow-up refactor: / fix: commit was needed.

Verification

  • Grepped the desktop solution for ISampleSource / ChannelDescriptor / SampleRow / CsvExporter / Logging.Export — no collisions with existing types.
  • Existing Daqifi.Core consumption (Communication.*, Device.*, Channel.*, Firmware.*) is untouched by 0.20.0.
  • dotnet restore
  • dotnet build --configuration Release /p:EnforceCodeStyleInBuild=true ✅ — 0 errors. Warning count unchanged from main (all pre-existing CS86xx/CA*/MSTEST0032 in test code).
  • dotnet test --configuration Release --no-build partial: Daqifi.Desktop.IO.Test ran on macOS-arm64 and passed (1/1). The other three test assemblies need an x64 .NET host (the main app is <PlatformTarget>x64</PlatformTarget> for Windows/WPF), which isn't available on this dev machine — the full suite needs to run in CI on Windows.

Test plan

Daqifi.Core is the device-protocol/HAL library — high blast radius. Please verify on Windows hardware:

  • Device discovery — UDP broadcast on port 30303 finds at least one device on the LAN
  • TCP streaming — connect to a discovered device and start/stop streaming cleanly
  • Channel toggle — enable/disable analog and digital channels mid-session
  • Logging session — start a logging session, capture data, stop, confirm row count in DB matches expectations
  • SD card import — import a .bin log session from an SD card and confirm samples land in the desktop DB
  • Firmware update flow — kick off a firmware update against a PIC32 device and confirm progress reporting works end-to-end
  • CI: Windows build + full dotnet test go green

Notes / risks

  • Daqifi.Core is the highest-blast-radius dependency in the project, so even though the diff is three lines, please prioritise the on-hardware checks above before merging.
  • Do not bump the desktop app version with this PR — v3.2.0 was already cut in chore: bump version to 3.2.0 and refresh .NET 10 docs #503.

🤖 Generated with Claude Code

The only breaking change in 0.20.0 is dropping net8.0; desktop targets
net10.0(-windows) across all projects, so no code changes were required.
The release also adds a new Daqifi.Core.Logging.Export namespace which
is purely additive.

Release notes: https://github.com/daqifi/daqifi-core/releases/tag/v0.20.0

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tylerkron tylerkron requested a review from a team as a code owner April 26, 2026 03:23
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Bump Daqifi.Core to 0.20.0 across desktop projects

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Bump Daqifi.Core from 0.19.7 to 0.20.0 across three projects
• Adds new Daqifi.Core.Logging.Export namespace for CSV export pipeline
• Drops net8.0 support; all projects target net10.0 or net10.0-windows
• No code changes required; purely additive API surface
Diagram
flowchart LR
  A["Daqifi.Core 0.19.7"] -- "upgrade" --> B["Daqifi.Core 0.20.0"]
  B -- "adds" --> C["Logging.Export namespace"]
  B -- "drops" --> D["net8.0 support"]
  E["Daqifi.Desktop"] -- "updated" --> B
  F["Daqifi.Desktop.DataModel"] -- "updated" --> B
  G["Daqifi.Desktop.IO"] -- "updated" --> B
Loading

Grey Divider

File Changes

1. Daqifi.Desktop.DataModel/Daqifi.Desktop.DataModel.csproj Dependencies +1/-1

Update Daqifi.Core dependency version

• Updated Daqifi.Core package reference from 0.19.7 to 0.20.0
• No other changes to project configuration or dependencies

Daqifi.Desktop.DataModel/Daqifi.Desktop.DataModel.csproj


2. Daqifi.Desktop.IO/Daqifi.Desktop.IO.csproj Dependencies +1/-1

Update Daqifi.Core dependency version

• Updated Daqifi.Core package reference from 0.19.7 to 0.20.0
• No other changes to project configuration or dependencies

Daqifi.Desktop.IO/Daqifi.Desktop.IO.csproj


3. Daqifi.Desktop/Daqifi.Desktop.csproj Dependencies +1/-1

Update Daqifi.Core dependency version

• Updated Daqifi.Core package reference from 0.19.7 to 0.20.0
• No other changes to project configuration or dependencies

Daqifi.Desktop/Daqifi.Desktop.csproj


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Apr 26, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@github-actions
Copy link
Copy Markdown

📊 Code Coverage Report

Summary

Summary
Generated on: 4/26/2026 - 3:26:25 AM
Coverage date: 4/26/2026 - 3:25:50 AM - 4/26/2026 - 3:26:20 AM
Parser: MultiReport (4x Cobertura)
Assemblies: 3
Classes: 119
Files: 148
Line coverage: 17.8% (1512 of 8494)
Covered lines: 1512
Uncovered lines: 6982
Coverable lines: 8494
Total lines: 26201
Branch coverage: 18.8% (521 of 2770)
Covered branches: 521
Total branches: 2770
Method coverage: Feature is only available for sponsors

Coverage

DAQiFi - 17.6%
Name Line Branch
DAQiFi 17.6% 18.8%
Daqifi.Desktop.App 5.4% 0%
Daqifi.Desktop.Channel.AbstractChannel 40.9% 27.7%
Daqifi.Desktop.Channel.AnalogChannel 58.7% 25%
Daqifi.Desktop.Channel.Channel 11.5% 0%
Daqifi.Desktop.Channel.ChannelColorManager 100% 100%
Daqifi.Desktop.Channel.DataSample 91.6%
Daqifi.Desktop.Channel.DigitalChannel 65.2% 25%
Daqifi.Desktop.Commands.CompositeCommand 0% 0%
Daqifi.Desktop.Commands.HostCommands 0%
Daqifi.Desktop.Commands.WeakEventHandlerManager 0% 0%
Daqifi.Desktop.Configuration.FirewallConfiguration 90.6% 66.6%
Daqifi.Desktop.Configuration.WindowsFirewallWrapper 64% 68.4%
Daqifi.Desktop.ConnectionManager 42.4% 39.2%
Daqifi.Desktop.Converters.BoolToActiveStatusConverter 0% 0%
Daqifi.Desktop.Converters.BoolToConnectionStatusConverter 0% 0%
Daqifi.Desktop.Converters.BoolToStatusColorConverter 0% 0%
Daqifi.Desktop.Converters.BrushColorMatchConverter 0% 0%
Daqifi.Desktop.Converters.ConnectionTypeToColorConverter 0% 0%
Daqifi.Desktop.Converters.ConnectionTypeToUsbConverter 0% 0%
Daqifi.Desktop.Converters.InvertedBoolToVisibilityConverter 0% 0%
Daqifi.Desktop.Converters.ListToStringConverter 0% 0%
Daqifi.Desktop.Converters.NotNullToVisibilityConverter 0% 0%
Daqifi.Desktop.Converters.OxyColorToBrushConverter 0% 0%
Daqifi.Desktop.Device.AbstractStreamingDevice 42.9% 38.6%
Daqifi.Desktop.Device.DeviceMessage 0%
Daqifi.Desktop.Device.Firmware.BootloaderSessionStreamingDeviceAdapter 0% 0%
Daqifi.Desktop.Device.Firmware.WifiPromptDelayProcessRunner 0% 0%
Daqifi.Desktop.Device.NativeMethods 100%
Daqifi.Desktop.Device.SerialDevice.SerialStreamingDevice 27.6% 30.8%
Daqifi.Desktop.Device.WiFiDevice.DaqifiStreamingDevice 40.9% 39.4%
Daqifi.Desktop.DialogService.DialogService 0% 0%
Daqifi.Desktop.DialogService.ServiceLocator 0% 0%
Daqifi.Desktop.DiskSpace.DiskSpaceCheckResult 100%
Daqifi.Desktop.DiskSpace.DiskSpaceEventArgs 100%
Daqifi.Desktop.DiskSpace.DiskSpaceMonitor 88.2% 86.6%
Daqifi.Desktop.DuplicateDeviceCheckResult 100%
Daqifi.Desktop.Exporter.OptimizedLoggingSessionExporter 66.5% 62.7%
Daqifi.Desktop.Exporter.SampleData 100%
Daqifi.Desktop.Helpers.BooleanConverter`1 0% 0%
Daqifi.Desktop.Helpers.BooleanToInverseBoolConverter 0% 0%
Daqifi.Desktop.Helpers.BooleanToVisibilityConverter 0%
Daqifi.Desktop.Helpers.EnumDescriptionConverter 100% 100%
Daqifi.Desktop.Helpers.IntToVisibilityConverter 0% 0%
Daqifi.Desktop.Helpers.MinMaxDownsampler 98.6% 97.9%
Daqifi.Desktop.Helpers.MyMultiValueConverter 0%
Daqifi.Desktop.Helpers.NaturalSortHelper 100% 100%
Daqifi.Desktop.Helpers.OxyPlotDarkTheme 0%
Daqifi.Desktop.Helpers.VersionHelper 98.2% 66.2%
Daqifi.Desktop.Logger.DatabaseLogger 0% 0%
Daqifi.Desktop.Logger.DatabaseMigrator 0% 0%
Daqifi.Desktop.Logger.DeviceLegendGroup 100% 100%
Daqifi.Desktop.Logger.LoggedSeriesLegendItem 0% 0%
Daqifi.Desktop.Logger.LoggingContext 100%
Daqifi.Desktop.Logger.LoggingContextDesignTimeFactory 0%
Daqifi.Desktop.Logger.LoggingManager 0% 0%
Daqifi.Desktop.Logger.LoggingSession 16% 5%
Daqifi.Desktop.Logger.PlotLogger 0% 0%
Daqifi.Desktop.Logger.SessionDeviceMetadata 80%
Daqifi.Desktop.Logger.SummaryLogger 0% 0%
Daqifi.Desktop.Logger.TimestampGapDetector 95% 83.3%
Daqifi.Desktop.Loggers.ImportOptions 0%
Daqifi.Desktop.Loggers.ImportProgress 0% 0%
Daqifi.Desktop.Loggers.SdCardSessionImporter 0% 0%
Daqifi.Desktop.MainWindow 0% 0%
Daqifi.Desktop.Migrations.AddSamplesSessionTimeIndex 0%
Daqifi.Desktop.Migrations.AddSessionDeviceMetadata 0%
Daqifi.Desktop.Migrations.AddSessionSampleCount 0%
Daqifi.Desktop.Migrations.InitialSQLiteMigration 0%
Daqifi.Desktop.Migrations.LoggingContextModelSnapshot 0%
Daqifi.Desktop.Models.AddProfileModel 0%
Daqifi.Desktop.Models.DaqifiSettings 80.5% 83.3%
Daqifi.Desktop.Models.DebugDataCollection 6.6% 0%
Daqifi.Desktop.Models.DebugDataModel 0% 0%
Daqifi.Desktop.Models.Notifications 0%
Daqifi.Desktop.Models.SdCardFile 0% 0%
Daqifi.Desktop.Services.WindowsPrincipalAdminChecker 0%
Daqifi.Desktop.Services.WpfMessageBoxService 0%
Daqifi.Desktop.UpdateVersion.VersionNotification 0% 0%
Daqifi.Desktop.View.ConnectionDialog 0% 0%
Daqifi.Desktop.View.DebugWindow 0% 0%
Daqifi.Desktop.View.DeviceLogsView 0% 0%
Daqifi.Desktop.View.DuplicateDeviceDialog 0% 0%
Daqifi.Desktop.View.ErrorDialog 0% 0%
Daqifi.Desktop.View.ExportDialog 0% 0%
Daqifi.Desktop.View.FirmwareDialog 0% 0%
Daqifi.Desktop.View.Flyouts.FirmwareFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.LiveGraphFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.NotificationsFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.SummaryFlyout 0% 0%
Daqifi.Desktop.View.MigrationStatusWindow 0% 0%
Daqifi.Desktop.View.MinimapInteractionController 0% 0%
Daqifi.Desktop.View.ProfilesPane 0% 0%
Daqifi.Desktop.View.Prototype.ChannelsPanePrototype 0% 0%
Daqifi.Desktop.View.Prototype.DevicesPanePrototype 0% 0%
Daqifi.Desktop.View.Prototype.LiveGraphPane 0% 0%
Daqifi.Desktop.View.Prototype.LoggedDataPanePrototype 0% 0%
Daqifi.Desktop.View.SuccessDialog 0% 0%
Daqifi.Desktop.ViewModels.ChannelsPaneViewModel 0% 0%
Daqifi.Desktop.ViewModels.ChannelTileViewModel 0% 0%
Daqifi.Desktop.ViewModels.ConnectionDialogViewModel 37.3% 39.1%
Daqifi.Desktop.ViewModels.DaqifiViewModel 17.5% 10.9%
Daqifi.Desktop.ViewModels.DeviceLogsViewModel 0% 0%
Daqifi.Desktop.ViewModels.DevicesPaneViewModel 0% 0%
Daqifi.Desktop.ViewModels.DeviceTileViewModel 0% 0%
Daqifi.Desktop.ViewModels.DuplicateDeviceDialogViewModel 0%
Daqifi.Desktop.ViewModels.ErrorDialogViewModel 0%
Daqifi.Desktop.ViewModels.ExportDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.FirmwareDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.NewProfileChannelItem 0%
Daqifi.Desktop.ViewModels.NewProfileDeviceItem 0% 0%
Daqifi.Desktop.ViewModels.ProfilesPaneViewModel 0% 0%
Daqifi.Desktop.ViewModels.SettingsViewModel 0% 0%
Daqifi.Desktop.ViewModels.SuccessDialogViewModel 85.7%
Daqifi.Desktop.WindowViewModelMapping.IWindowViewModelMappingsContract 0%
Daqifi.Desktop.WindowViewModelMapping.WindowViewModelMappings 0%
Sentry.Generated.BuildPropertyInitializer 100%
Daqifi.Desktop.Common - 30.8%
Name Line Branch
Daqifi.Desktop.Common 30.8% 16.6%
Daqifi.Desktop.Common.Loggers.AppLogger 33.7% 16.6%
Daqifi.Desktop.Common.Loggers.NoOpLogger 0%
Daqifi.Desktop.IO - 100%
Name Line Branch
Daqifi.Desktop.IO 100% ****
Daqifi.Desktop.IO.Messages.MessageEventArgs`1 100%

Coverage report generated by ReportGeneratorView full report in build artifacts

@tylerkron tylerkron merged commit b62abbc into main Apr 26, 2026
2 checks passed
@tylerkron tylerkron deleted the deps/daqifi-core-0.20.0 branch April 26, 2026 03:30
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