Skip to content

deps: Bump Daqifi.Core and 10 others - #833

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Daqifi.Desktop.Common/nuget-patch-minor-6b525b28fa
Open

deps: Bump Daqifi.Core and 10 others#833
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Daqifi.Desktop.Common/nuget-patch-minor-6b525b28fa

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 29, 2026

Copy link
Copy Markdown
Contributor

Updated Daqifi.Core from 1.4.0 to 1.7.0.

Release notes

Sourced from Daqifi.Core's releases.

1.7.0

Verified end-to-end against a DAQiFi Nyquist Nq1 (firmware 3.7.2) over USB: serial discovery, connect + populated init (16 analog in / 16 digital), 100 Hz streaming, SD card listing and storage, and LAN chip info all pass. Full unit suite green (7,847 tests) on net9.0 and net10.0.

Highlights

  • Acquisition statistics now report in the channel's own units — configure a channel with engineering units and AcquisitionStatistics still reported its min, max and mean in volts, with nothing in the snapshot saying which of the two you had. It now records the scaled value and carries the channel's Unit. This was not merely a mislabel: a negative gain transposes the extremes, so a consumer re-applying the scaling by hand got a MinValue that was really the maximum — a loss that could not be corrected after the fact. (#​554)
  • A silent device and an empty answer are no longer the same answerGetSystemLogAsync returned an empty list both for a device whose log is genuinely empty and for a device that never answered, which is the least useful reply a diagnostics call can give: indistinguishable from a clean bill of health. Core now reads the firmware's always-present terminator as proof the device spoke. Alongside it, an SD listing for a directory that simply isn't on the card is told apart from a broken filesystem, and the device's new end-of-listing marker says whether a listing walked the whole tree, skipped entries, or failed outright. (#​552, #​551, #​550)
  • A stale blank line can no longer be mistaken for your reply — the blank that terminates a SYSTem:LOG? dump is the entire signal for "the device answered", and a leftover blank from an earlier command could still arrive while your command was queued or mid-send and be counted as your answer. Both windows are now closed. In the same engine, a reply that beat the wait loop's first poll was invisible to it, so the call sat out the full response timeout instead of the short completion one — a multi-second stall on an answer that had already arrived. (#​591, #​602, #​594)
  • The device you are using no longer disappears from discoverySerialDeviceFinder identifies a device by opening its port, and a port your own process already holds open failed identically to "there is no device here". Run discovery next to a connected device — the normal shape for an app with a device list on screen — and after a few passes it called your device lost. A port that is present but locked is now carried as exactly that. (#​561)

Features

  • The eight memory-diagnostics fields the firmware sends but MemoryDiagnostics never surfaced now have typed properties — notably LargestFreeBlock, which, not HeapFree, is the largest allocation the device can still service. 7.5 KB free across twenty blocks and 7.5 KB free in one block report the same HeapFree and have completely different prospects. (#​556)
  • ChannelScaling.TryApply makes the overflow fallback detectable, so an unscaled reading can be kept out of an aggregate instead of silently mixing units into a window of correctly converted ones. (#​564)

Firmware & device behavior

  • Metadata.Health was documented as live telemetry but was a snapshot taken once at connect that never changed again. It now has a way to refresh, and the docs no longer claim otherwise. A connected Nyquist sends no unsolicited health frames at all: across a bench run of 1,587 inbound messages, exactly one carried health, and only because it was asked. (#​558)
  • An SD listing, storage query, delete, format or download defensively stopped streaming before touching the card and never restarted it, leaving a concurrent StreamSamplesAsync consumer permanently silent with no error. All five now resume it. (#​566)

Fixes

  • A throwing subscriber to StatusMessageReceived/StreamMessageReceived stopped delivery to every subscriber registered after it for the rest of the connection — the natural, wrong conclusion being "the device stopped sending". (#​563)
  • MessageProducer.IsIdle could report idle while a write was still in flight, which is the exact false "all quiet" the property exists to rule out. (#​547)
  • A blank field in an SD log header — # Serial Number: with nothing after it — counted as a real answer and beat the connected device's own value in the configuration merge. (#​627)

Performance

  • Windows discovery no longer slows down with every unrelated COM port on the machine. It asked Windows about each port one at a time, at roughly 100–500 ms per WMI query, so a laptop with a dozen ports burned seconds per pass; it is now one query per pass regardless of port count. (#​515)

Internal

  • A broad deduplication pass across the wire-facing parsers: SD card timestamp reconstruction and tick-delta rollover math, the "first parseable line" response loop, the SCPI error-code parse, both PIC32 bootloader acknowledgment decoders, HID string normalization, part-number to DeviceType mapping, the WiFi bridge-mode port sequence, and the SD operations' streaming-pause preamble each now have one implementation. (#​595, #​574, #​596, #​615, #​622, #​586, #​607, #​617, #​626, and others)
  • The SD-card members moved off the shared device-operation seam onto their own facet. (#​604, #​611)
  • New direct unit tests for the types previously covered only through their callers — the channel-control, diagnostics and network-configuration operations, both USB port descriptor providers, the SD card scaling and merge helpers, and the WiFi flash progress parser. (#​568, #​569, #​570, #​571, #​572, #​628, #​619, #​606)
  • Roughly two dozen assertions that structurally could not fail were pruned, and six tests that raced a wall clock were made deterministic. (#​603, #​620, #​610, #​601, #​609, #​589, #​587, #​578, #​575, #​633)
  • The binary-compatibility policy for appended record fields is now written down, as is per-connection thread accounting. (#​567, #​565)

Full Changelog: daqifi/daqifi-core@v1.6.0...v1.7.0

1.6.0

Verified end-to-end against a DAQiFi Nyquist Nq1 (firmware 3.7.2) over USB: serial discovery, connect + populated init, 100 Hz streaming with live acquisition statistics, mid-stream diagnostics, PWM/digital interlock, SD card list/storage/record/download/parse, and LAN chip info all pass. Full unit suite green (7,171 tests) on net9.0 and net10.0.

Highlights

  • Analog outputs are real channels you can see and write — a device's DACs now show up in Channels alongside its inputs, with their voltage range, resolution, and last-commanded value, instead of being a write-only command you had to know the syntax for. Writes are range-checked against what the device itself reported before anything reaches the wire, and a stage/latch pair lets several outputs change together. An MCP agent can drive them too, not just read them. Analog output is NQ3 hardware; Supports(DeviceFeature.AnalogOutput) tells you whether the board in front of you has it. (#​526, #​546)
  • "Am I actually getting the sample rate I asked for?"AcquisitionStatistics answers that question from the samples themselves: measured rate, per-channel counts and value ranges, sample-interval spread, out-of-order counts, and how far behind the device's own clock the host is running. On our bench Nyquist it immediately surfaced that firmware 3.7.2 streams at 79.6% of the requested rate — the kind of thing that used to require hand-rolled instrumentation. (#​518)
  • A short SD download is now a failed download — a transfer that ended early used to be handed back as if it were the whole file, so a truncated log looked like a complete one. Core now checks the size it received against the size the device promised and raises a clear error instead. An SD download also takes exclusive ownership of the device for its duration, so a command issued on another thread can no longer interleave and corrupt the file. (#​540, #​506)
  • The per-configuration sample-rate cap moved into Core — the ceiling a given channel selection can actually sustain was previously computed in the MCP server alone, leaving the desktop app and every other consumer without it. Every consumer now gets the same answer from one place. (#​513)

Features

  • An MCP agent can read a measurement and read back what it recorded to the SD card, not just configure the device. (#​524, #​511)
  • Channels say what a reading means, not just what it measures — unit and scaling metadata travel with the channel. (#​523)

Firmware & device behavior

  • Three log-related commands stalled for a full 3 seconds each waiting for a reply the device had already sent; they now return as soon as the answer arrives. (#​542)
  • Reading diagnostic counters mid-stream reported a silently incomplete answer as a complete one — it now raises rather than under-reporting. (#​541)
  • Digital writes are blocked while PWM is driving that channel, instead of being silently ignored by the firmware. (#​473)
  • An idle connected device no longer burns CPU every second. (#​514)

Fixes

  • A live await foreach over samples now ends when the device does, instead of hanging forever. A clean disconnect ends the loop normally; an unplug or lost link throws, so an acquisition cut short can't be mistaken for one that finished. (#​507)
  • The synchronous Connect() helpers no longer freeze a UI thread. (#​508)
  • Send() racing a disconnect fails with a typed error instead of a NullReferenceException. (#​503)
  • A throwing StatusChanged subscriber no longer kills auto-reconnect or leaks the port handle. (#​504)
  • The backlog of sends parked during a long exclusive operation is now capped. (#​505)
  • discover_devices no longer gives up on a device that just needed a moment — the MCP timeout floor went from 250 ms to 1 s. (#​475)

Performance

  • Parsing an SD log no longer loads the whole file into memory first. (#​520)
  • Streaming stopped rebuilding the channel map and copying the buffer on every frame. (#​512)
  • Serial discovery no longer spends half its time waiting on its own reader thread, and discover_devices starts both transports at once instead of waiting one out. (#​509, #​510)

Internal

  • DaqifiStreamingDevice continues splitting into focused collaborators — the text-exchange engine is now its own type, and the file gives up the operation lock and its send backlog. (part of #​344 — #​479, #​530)
  • BootloaderSessionDevice moved into Core so it owns the bootloader stand-in, and the bootloader's duplicated wire constants were single-sourced. (#​478, #​519)
  • The DaqifiStreamingDevice downcast is gone from the device surface. (#​476)
  • One connected-guard replaces fifty copies of it. (#​521)
  • New test coverage for the MCP tool layer against an attached device, the PIC32 bootloader exchanges, the SD card text protocol, the WiFi updater's edge cases, and Linux serial-port identification. (#​525, #​527, #​528, #​522, #​529)

Full Changelog: daqifi/daqifi-core@v1.5.0...v1.6.0

1.5.0

Verified end-to-end against a DAQiFi Nyquist (firmware 3.7.2) over USB: serial discovery, connect + populated init, 100 Hz streaming, SD card list/storage, and LAN chip info all pass. Full unit suite green (2,853 tests) on net9.0 and net10.0.

Highlights

  • Cancellable async surface on IStreamingDevice, IAsyncDisposable on IDevice — connecting, streaming, and tearing down a device can now all be cancelled and awaited properly, instead of blocking or relying on manual cleanup. This makes it much easier to build responsive apps on top of Core — a UI can cancel a stuck connect attempt or cleanly dispose a device without extra plumbing. Note for anyone implementing these interfaces directly outside this repo: you'll need to add the new async members, DisposeAsync, and the 9 calibration confirmation members described below — sync-only callers are unaffected. (#​460, #​469)
  • Calibration and voltage-precision commands now confirm they actually landed — previously, if a device refused one of these commands, Core reported success anyway, because it never checked. That could leave a device silently uncalibrated with no way to tell. These commands now read the device's own error queue back and raise a clear error if the device didn't accept it, so a failure surfaces instead of hiding. (#​455)
  • WiFi firmware updates are more resilient — Core now handles the full update sequence itself instead of leaving apps to work around gaps: it powers the WiFi module on before an update so the update mode actually takes effect, recovers the module automatically if a flash fails partway through (instead of leaving it unreachable until a power cycle), and no longer triggers an unnecessary reflash just because it couldn't reach GitHub to check the latest version. (part of #​269 — #​443, #​444, #​445, #​434)

Fixes

  • Streaming rate limits are re-checked after enabling more channels, so a rate that was valid for a small channel set can no longer stay in effect once it exceeds what the larger channel set actually supports. (#​472)
  • Devices are now recognized as the same physical unit regardless of whether their serial number was reported in decimal or hex — previously a device could appear as two different devices depending on which form was seen first. (#​471)
  • The MCP server no longer reports made-up PWM duty-cycle/frequency values for state nobody actually commanded — it now reports "unknown" until a real command has been sent, instead of a plausible-looking guess. (#​470)
  • Serial device discovery no longer loses track of a device just because a prior discovery attempt timed out or was cancelled partway through. (#​454)
  • Fixed a defect where a device's binary status data could be misinterpreted as a text message and discarded. (part of #​268 — #​457)

Internal

  • SCPI wire strings single-sourced through ScpiMessageProducer. (#​468)
  • Dead-API sweep: TextMessage, SdCardBusyException, abandoned simulator docs. (#​467)
  • DaqifiStreamingDevice continues splitting into focused collaborators — channel/DIO/PWM/analog-output control, status-frame channel mapping, stream frame decode, connect/disconnect serialization, device administration, raw-command session interpretation, the live-sample async stream, session snapshot/restore, and USB stream-interface routing. (part of #​344 — #​432, #​433, #​435, #​436, #​437, #​439, #​440, #​441, #​442)
  • Shared ScaleRawAnalogValues helper extracted for SD card parsing. (#​466)
  • CI now runs on merge_group so a merge queue can gate main. (#​459)
  • Command history documented as oldest-first, not newest-first. (part of #​344 — #​452)
  • Assorted test hardening: bounded live-stream device test awaits, wall-clock-tight tests no longer race a stalled CI runner, WiFi update SCPI sequence expectations reconciled, canceled-settle case guarded against a persisted network config. (#​453, #​458, #​456, #​451)

Full Changelog: daqifi/daqifi-core@v1.4.0...v1.5.0

Commits viewable in compare view.

Updated Microsoft.Data.Sqlite from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Data.Sqlite's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.EntityFrameworkCore from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.EntityFrameworkCore's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.EntityFrameworkCore.Sqlite from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.EntityFrameworkCore.Sqlite's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.EntityFrameworkCore.Tools from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.EntityFrameworkCore.Tools's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.Http from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Http's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0.

Release notes

Sourced from Microsoft.NET.Test.Sdk's releases.

18.9.0

What's Changed

New Contributors

Full Changelog: microsoft/vstest@v18.8.0...v18.9.0

Commits viewable in compare view.

Updated NLog from 6.1.4 to 6.2.0.

Release notes

Sourced from NLog's releases.

6.2

Improvements

  • #​6215 FileTarget - Added FileLifecycleHooks for extending archive logic. (@​Dave-Senn)
  • #​6218 ScopeContext - Optimize collection of properties in reverse order. (@​snakefoot)
  • #​6230 PropertyTypeConverter - Disable legacy TypeDescriptor when AOT. (@​snakefoot)
  • #​6231 Replacing ProcessInfo-LayoutRenderer with ProcessStart-LayoutRenderer. (@​snakefoot)
  • #​6229 GarbageCollectorInfoLayoutRenderer - WorkingSet + Format. (@​snakefoot)
  • #​6246 AsyncTaskTarget - Added Jitter on Retry to reduce thundering herd. (@​snakefoot)
  • #​6248 AsyncTaskTarget - Changed Jitter to use Stopwatch instead of TickCount. (@​snakefoot)
  • #​6245 AsyncTaskTarget - Refactor to reduce code complexity. (@​snakefoot)
  • #​6148 AppEnvironmentWrapper - Return Unknown_ProcessId when empty ProcessName. (@​snakefoot)
  • #​6187 ConfigurationItemFactory - Marked ParseMessageTemplates as obsolete. (@​snakefoot)
  • #​6243 ConditionParser - Marked as obsolete, so it can become internal. (@​snakefoot)
  • #​6087 Target - Reduce code complexity of WriteAsyncLogEvents. (@​snakefoot)
  • #​6200 SimpleLayout - Marked Renderers-property as obsolete. (@​snakefoot)
  • #​6239 LogFactory - FlushAsync and DisposeAsync with explict usage of CancellationToken.None. (@​snakefoot)

Release notes for NLog v6.2: https://nlog-project.org/2026/08/16/nlog-6-2-aot-build-size.html

Commits viewable in compare view.

Updated Sentry from 6.8.0 to 6.9.0.

Release notes

Sourced from Sentry's releases.

6.9.0

Features ✨

  • feat: Allow users to control Mechanism.Handled for captured exceptions by @​vladbrincoveanu in #​5449

Fixes 🐛

  • fix(serilog): logs from application namespaces beginning with "Sentry" are discarded by @​jamescrosswell in #​5456
  • fix: rate limit on one data category no longer blocks all others by @​jamescrosswell in #​5482

Dependencies ⬆️

Deps

  • chore(deps): update Native SDK to v0.16.3 by @​github-actions in #​5486
  • chore(deps): update Cocoa SDK to v9.26.0 by @​github-actions in #​5485
  • chore(deps): update Cocoa SDK to v9.25.0 by @​github-actions in #​5472
  • chore(deps): update Native SDK to v0.16.2 by @​github-actions in #​5477
  • chore(deps): update Java SDK to v8.52.0 by @​github-actions in #​5471
  • chore(deps): update Cocoa SDK to v9.24.0 by @​github-actions in #​5460
  • chore(deps): update Java SDK to v8.51.0 by @​github-actions in #​5457
  • chore(deps): update Native SDK to v0.16.1 by @​github-actions in #​5459
  • chore(deps): update Native SDK to v0.16.0 by @​github-actions in #​5452
  • chore(deps): update Java SDK to v8.50.1 by @​github-actions in #​5441
  • chore(deps): update CLI to v3.6.2 by @​github-actions in #​5443
  • chore(deps): update Cocoa SDK to v9.23.0 by @​github-actions in #​5442

Other

  • ref: migrate Cocoa bindings from PrivateSentrySDKOnly to SentryObjCSDK.internal by @​jamescrosswell in #​5409

Commits viewable in compare view.

Updated System.Configuration.ConfigurationManager from 10.0.10 to 10.0.11.

Release notes

Sourced from System.Configuration.ConfigurationManager's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated System.IO.Ports from 10.0.10 to 10.0.11.

Release notes

Sourced from System.IO.Ports's releases.

No release notes found for this version range.

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps Daqifi.Core from 1.4.0 to 1.7.0
Bumps Microsoft.Data.Sqlite from 10.0.10 to 10.0.11
Bumps Microsoft.EntityFrameworkCore from 10.0.10 to 10.0.11
Bumps Microsoft.EntityFrameworkCore.Sqlite from 10.0.10 to 10.0.11
Bumps Microsoft.EntityFrameworkCore.Tools from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Http from 10.0.10 to 10.0.11
Bumps Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0
Bumps NLog from 6.1.4 to 6.2.0
Bumps Sentry from 6.8.0 to 6.9.0
Bumps System.Configuration.ConfigurationManager from 10.0.10 to 10.0.11
Bumps System.IO.Ports from 10.0.10 to 10.0.11

---
updated-dependencies:
- dependency-name: Daqifi.Core
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-patch-minor
- dependency-name: System.IO.Ports
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.Data.Sqlite
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.EntityFrameworkCore
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.EntityFrameworkCore.Sqlite
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.EntityFrameworkCore.Tools
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.Extensions.Http
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: NLog
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-patch-minor
- dependency-name: Sentry
  dependency-version: 6.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-patch-minor
- dependency-name: System.Configuration.ConfigurationManager
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-patch-minor
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-patch-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants