Fixes
purchase_date rejected by Snipe-IT API
Upstream go-snipeit's SnipeTime.MarshalJSON always serializes as "YYYY-MM-DD HH:MM:SS", but Snipe-IT's purchase_date validator only accepts "YYYY-MM-DD", so every PATCH after v1.7.0 was rejected with The purchase date must be a valid date in YYYY-MM-DD format. Routed purchase_date through CustomFields as a plain "YYYY-MM-DD" string. Workaround until upstream is patched.
Configurator-enrolled devices overwriting real purchase data
Devices added to ABM via Apple Configurator (purchaseSourceType=MANUALLY_ADDED) get a synthetic order number like CE-2024-12-13-04-11-12-826 and the enrollment date as orderDateTime — not the real purchase info. v1.7.0 was happily overwriting real reseller order numbers and purchase dates with this synthetic data. Now skipped by default.
New Config Options
| Key | Default | Description |
|---|---|---|
sync.preserve_order_info_on_update |
false |
Never overwrite an existing purchase_date / order_number on update. First-time syncs still populate them. Useful when you manually correct order info in Snipe-IT and want it preserved on re-runs. |
sync.sync_configurator_order_info |
false |
Opt back into syncing the Configurator metadata for MANUALLY_ADDED devices, if you actually want it. |
Upgrading
Drop-in replacement for v1.7.0 — no migration needed. If your previous v1.7.0 sync overwrote real purchase data with Configurator metadata, you can manually revert the affected fields in Snipe-IT and v1.7.1 will leave them alone on future syncs.
Full Changelog: v1.7.0...v1.7.1