August 19th, 2026

New

Improved

Feature

Bug Fix

StackJack 0.1.0.4047+666cc49

StackJack 0.1.0.4047+666cc49

This release is mostly about N-central fleet tooling: a new paged device asset and lifecycle inventory tool, plus a set of fixes so paged results no longer present partial data as a complete answer. It also restores browser-based sign-in for org-wide MCP connections and makes connector error guidance more accurate.

New features

  • New N-central tool for per-device asset and lifecycle inventory (ncentral_list_device_asset_details). It returns the raw per-device rows a QBR or asset reconciliation needs — serial number, warranty, lease, expected replacement, purchase date, cost, location and asset tag — tenant-wide or scoped to a single org unit, one bounded page per tool call (page size up to 50) instead of two calls per device. Set includeAssetInfo=false to skip the serial-number lookup when you only need warranty/lifecycle data. Devices that cannot be read are returned as marked entries rather than silently dropped, and upstream total item/page counts are included so you can size a paging job up front.
  • Browser-based sign-in is available again for org-wide connections. AI client connector UIs that only speak the browser authorization flow can be used to establish admin-created, org-wide connections. Per-user and agent clients continue to connect the way they do today.

Improvements

  • Every N-central tool that pages through results now pins a stable sort order, so a device can no longer appear twice or be skipped between pages.
  • Walking tools now work within a fixed per-call time budget (120 seconds) instead of grinding through thousands of sequential upstream calls for minutes on end. The budget never truncates a walk that has no further page and always allows the first page, and results carry an always-present timeBudget field stating whether it was reached and why.
  • The premium reports and the site overview now carry an always-present itemCap field, so a report over a fleet larger than the cap can no longer present partial counts as fleet-wide counts. Report envelopes also now count the devices actually processed rather than the devices seen.
  • The site overview inlines up to 5,000 device rows, up from 1,000.
  • Connector error guidance is more accurate: a temporary upstream failure or an ordinary vendor session-expiry message no longer produces instructions to regenerate or replace a working credential. Genuine expired-credential guidance is unchanged.
  • The token endpoint now accepts client credentials in the standard HTTP Authorization header as well as in form fields, and no longer rejects clients whose OAuth libraries always send empty credential fields or send an unused header when refreshing a token.
  • General security hardening across the connection flows.

Bug fixes

  • N-central tools that page through data stopped at the first page and reported the result as complete. Any tenant with more than one page of results (over 1,000 items) was affected, including paginated lists, search, the premium reports and the site overview's device walk. All of them now traverse every page and correctly report when more data exists.
  • A walk whose last page filled the item cap exactly reported a truncated answer as complete, even though a further page was available.
  • Setting an item/device/issue/user cap to zero or a negative number returned an empty result that looked like a complete one. Caps now clamp to at least one item.
  • A response returned as a top-level JSON array crashed the paging tools instead of being handled and described in the result.
  • A page returned without its data array reported zero devices, indistinguishable from a genuinely empty org unit. It is now flagged in the result.
  • The device asset lookup treated authentication failures, timeouts and exhausted rate budgets as per-device "skipped" markers inside a successful result. Those now fail the call so you see the real problem; per-device access-denied and stale-record cases are still isolated so one bad device cannot abandon a page.
  • The device asset lookup could match a row whose identifier came from a different kind of object, which risked attaching another machine's serial and warranty to a device. It now reports a marked gap instead.
  • A transient network reset, timeout or truncated response late in a page no longer discards the work already done for that page, provided at least one section has already returned successfully.
  • Skipped-section markers now use one consistent shape across all cases, with a status value present exactly when an upstream call was made, so you no longer have to probe for a missing field to tell the cases apart.