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_OVERRIDESmap 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_tagcollision 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_idvalue in Python so absent, JSON-null, and empty-string values are all excluded. The prior DB-side__isnull=Falsefilter still loaded Hivelocity/AWS-imported devices whose custom-field key is present with an explicit JSONnull(Django treats that as non-null), which crashed the sync withObjectAlreadyExistson aNoneidentifier. 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_idcustom 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 withObjectAlreadyExistsbefore 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-uniqueasset_tagand per-location-tenant uniquename.
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.