Docs › Discovery
Release Notes — June 2026
Capabilities and fixes delivered in the June 2026 release of uControl Insight, grouped by area. Each entry links to its tracking ticket.
Discovery & scanning
| Ticket | Summary |
|---|---|
| UIP-21 | Support for Omanda API Discovery |
| UIP-209 | Support sAMAccountName claim for AD-synced group names |
| UIP-210 | Move reverse DNS resolution from cloud control plane to worker |
| UIP-211 | Disable cloud-side DnsEnrichmentService by default |
| UIP-212 | Add configurable explicit DNS resolver to worker (dnsjava) |
| UIP-213 | Add SSDP / UPnP discovery to seed scan |
| UIP-214 | Add mDNS / Bonjour discovery to seed scan |
| UIP-215 | Add NetBIOS NBSTAT probe to seed scan |
| UIP-216 | Relax seed-scan liveness criterion + ARP table backfill |
| UIP-217 | Broaden default TCP port set for modern device discovery |
| UIP-218 | Credential-less MAC discovery via ARP + SNMP |
| UIP-219 | Bundled IEEE OUI database for vendor lookup |
| UIP-220 | Hypervisor OUI detection — mark VM assets |
| UIP-230 | Installer-generated application.yml includes auto-update + dns blocks |
| UIP-231 | Discovery Runs page Worker column shows site primary, hostname secondary |
| UIP-232 | Worker-run scan log link now points to worker UI |
| UIP-237 | IoT device subtype inference from SSDP / mDNS / SNMP / OUI signals |
| UIP-238 | Asset detail: show last-scan target, worker, and run on the Discovery card |
| UIP-240 | Discovery target delete: FK to discovery_runs blocks deletion |
| UIP-243 | Populate asset.model from SSDP Server header + mDNS TXT records |
| UIP-244 | Subtype priority: SSDP product strings should beat generic mDNS service types |
| UIP-246 | Discovery missed 2 hosts LanSweeper found (192.168.10.122, .138) |
| UIP-249 | TP-Link / Ubiquiti / NETGEAR OUI vendors default to "Network Appliance" subtype |
| UIP-250 | Stuck-scan class: per-asset REQUIRES_NEW transactions + orchestrator finalize-on-any-outcome |
| UIP-251 | Credential-less OS extraction from SSDP Server header |
| UIP-255 | Asset detail: java.sql.Timestamp in lastScanInfo map crashed Thymeleaf #temporals.format, truncating render |
| UIP-257 | SMART_SCAN never tries SNMP unless seed-scan public-community probe succeeded |
| UIP-258 | CidrEnumerator doesn t recognise X-Y range syntax |
| UIP-259 | SeedScan multicast (SSDP/mDNS) bleeds devices from worker s own subnet into off-target scans |
| UIP-261 | SNMP-identified switches mis-classified as SERVER + missing vendor/model |
| UIP-265 | AI-generate ITSM category rows from a topic seed (Intune, M365, etc.) |
| UIP-269 | SNMP Phase 1: read router ARP tables, materialise observed hosts as assets (under UIP-268) |
| UIP-270 | SNMP Phase 2: Q-BRIDGE FDB + LLDP topology (under UIP-268) |
| UIP-275 | Self-heal: auto-reap discovery_runs / scan_jobs stuck RUNNING > 30 min |
| UIP-277 | Bulk export + CMDB-shaped /api/v1/assets synthesis for software, processes, services + upsert/aging lifecycle |
| UIP-281 | StuckRunReaper crashes on every tick — UPDATE references missing column discovery_targets.is_running |
| UIP-290 | ITAM bulk CSV import for hardware metadata |
| UIP-294 | Auto-classify EUC devices via chassis_kind + chassis/model detection in Discovery |
| UIP-296 | Peripheral device discovery for EUC assets (monitors, docks, input devices) |
| UIP-297 | macOS detection + hardware metadata in SSH discovery connector |
Asset classification & detail
| Ticket | Summary |
|---|---|
| UIP-221 | Track inferred fields + show info icon in asset detail UI |
| UIP-233 | Display-name rule: treat raw IP as fallback like MAC |
| UIP-234 | AssetPersistenceStage: in-batch dedupe of NormalizedAsset by canonical id |
| UIP-245 | Asset display_name overwritten by a different IP when same MAC seen at new IP |
| UIP-247 | Mark assets with randomized (locally-administered) MAC addresses |
| UIP-252 | Asset detail Topology: error handling — show real failure instead of "No relationships found" |
| UIP-254 | Asset detail page: missing inferredFields on DTO silently truncated Hardware & OS card |
| UIP-256 | Inferred-field ⓘ icon: replace native title tooltip with styled hover/popover |
| UIP-278 | Interfaces tab on asset detail + persistence of _interfaces evidence |
| UIP-279 | INTERFACE as first-class CI + interface-to-interface CONNECTED edges from LLDP/CDP/FDB |
| UIP-280 | Promote SOFTWARE_PACKAGE / RUNNING_PROCESS / DISCOVERED_SERVICE / INTERFACE to first-class assets — retire SubAssetSynthesisService |
| UIP-286 | Add ITAM business metadata tables and asset detail tab |
| UIP-292 | Vendor warranty connector framework (pluggable) |
| UIP-295 | EUC category + Infrastructure/EUC split on HAM list (manual reclassify) |
| UIP-298 | SSH connector: macOS-aware branches for software / services / interfaces / disks |
SSO & authentication
| Ticket | Summary |
|---|---|
| UIP-186 | Replace @AuthenticationPrincipal UserDetails across controllers (SAML/OIDC compatibility) |
| UIP-205 | Fix empty login page caused by deferred CSRF token loading |
| UIP-206 | Wire OAuth2 / OIDC login handler in security chain |
| UIP-207 | SSO User Lookup: show users without a groups claim |
| UIP-208 | Profile page works for SSO users |
| UIP-276 | Restart resilience: branded error pages + HTMX-aware post-login redirect |
Worker agent & installer
| Ticket | Summary |
|---|---|
| UIP-222 | Auto-update enabled by default |
| UIP-223 | Fix worker JAR detection for Program Files (x86) install paths |
| UIP-224 | Windows file-lock fix in auto-update |
| UIP-225 | Build-time versioning + version.json refresh |
| UIP-226 | Worker registration reuses DEREGISTERED rows |
| UIP-227 | Worker-side UI for live job logs |
| UIP-228 | Windows EXE installer refactored to download JAR at install time |
| UIP-229 | PowerShell installer card shown when EXE not bundled |
| UIP-235 | Routing: fail with Worker Offline when site has registered workers but none online |
| UIP-260 | Worker credentials: default match_pattern to All when blank — avoid silent no-match |
ITAM, SAM & lifecycle
| Ticket | Summary |
|---|---|
| UIP-284 | Verify SAM module resurrection on developer6 |
| UIP-287 | Asset assignment and homeworking tracking |
| UIP-288 | Contract & document repository for ITAM |
| UIP-291 | Dell TechDirect warranty enrichment job |
TekReady ITSM
| Ticket | Summary |
|---|---|
| UIP-262 | TekReady engagement overview: add Due-by date per section |
| UIP-263 | Incident + Request category tables: add search & filter bar |
| UIP-264 | AI-suggest SLA / Impact / Urgency for Incident + Request categories |
Network flow & certificates
| Ticket | Summary |
|---|---|
| UIP-274 | UIP-272 finish: estate-wide certs dashboard + Aha cert-expiry insights |
Reliability, exports & UI
| Ticket | Summary |
|---|---|
| UIP-239 | Global styled-confirm modal + HTMX hx-confirm interception |