Skip to content

v0.3 Release Notes

This document describes all new features and changes in the release. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Release Overview

  • Major features or milestones
  • Changes to compatibility with Nautobot and/or other apps, libraries etc.

v0.3.4 (2026-07-15)

Added

  • #30 - Location parsing for ServiceDesk-imported Sites now resolves more names: a small city gazetteer (e.g. "El Paso/Cornell" → Texas) is consulted when no state token is present, separator-joined names are split and re-tried, and a SITE_REGION_OVERRIDES map lets operators pin the region for names no parser can resolve (company/facility names).

Fixed

  • #30 - ServiceDesk Plus is now treated as the source of truth for NUS devices: an asset_tag collision can no longer abort the sync. Placeholder asset_tags (n/a, -, etc.) and asset_tags duplicated across SDP records are normalized to empty on load, and a pre-sync reconcile pass resolves collisions with existing devices in SDP's favour — adopting the same physical device when the serial matches (stamping it with the SDP id), deleting a stale unclaimed NUS device otherwise, and never touching non-NUS/infrastructure devices.

v0.3.3 (2026-07-14)

Fixed

  • #27 - The Nautobot device queryset now screens the servicedesk_plus_id value in Python so absent, JSON-null, and empty-string values are all excluded. The prior DB-side __isnull=False filter still loaded Hivelocity/AWS-imported devices whose custom-field key is present with an explicit JSON null (Django treats that as non-null), which crashed the sync with ObjectAlreadyExists on a None identifier. Only the devices with a real ServiceDesk Plus id are loaded now.

v0.3.2 (2026-07-14)

Fixed

  • #24 - The Nautobot device queryset now excludes devices whose servicedesk_plus_id custom field is an empty string (not just null). Unrelated devices — e.g. XCP/AWS imports — carry the field blank; loading several of them gave every one an empty identifier and crashed the sync with ObjectAlreadyExists before any comparison ran.

v0.3.1 (2026-07-14)

Fixed

  • #21 - Devices are now identified by their ServiceDesk Plus record id (custom field servicedesk_plus_id) instead of by name. The Nautobot adapter loads devices carrying that id, so an existing device is matched and UPDATED rather than re-created — which previously failed on Nautobot's globally-unique asset_tag and per-location-tenant unique name.

v0.3.1a1 (2026-07-14)

No significant changes.

v0.3.0 (2026-07-13)

Added

  • #17 - ServiceDesk-imported Sites are now placed under their US state Region (parsed from the site name and created on demand under the correct Census Super Region), with an "Unassigned" holding-pen Region as a fallback. The parent is set only on create, so a later reconciliation that re-groups a Site is not reverted on subsequent syncs.