Releases: CampusTech/axm2snipe
Release list
v1.7.1
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
v1.7.0
What's New
ABM data sync (#33)
- ABM
orderDateTimeandorderNumbernow sync to Snipe-IT's nativepurchase_dateandorder_numberfields, so they appear in the built-in "Order Information" panel instead of as custom fields setupnow provisions 5 additional custom fields: AXM: Purchase Source (Apple / Reseller / Manually Added), Purchase Source ID, EID, IMEI, MEID- New
purchase_source_idsource value forfield_mapping purchase_sourceis now auto title-cased ("Reseller" instead of "RESELLER") for consistency with other ABM enums
Reliability
PatchAssetretry now clears invalid stored custom field values (sends an empty value on retry) instead of just stripping them from the request. Snipe-IT re-validates all stored custom field values on every PATCH against the current field definition, so stripping alone left the stored bad value intact and the next PATCH would fail with the same error. Hit when ABM payment-type values are added to the radio options after assets have already been synced with the old options.
Configuration & Setup
- Setup now uses cache by default, and field mappings are automatically replaced on re-run for easier updates #29 (@robbiet480)
- Added new logging configuration options:
log.file,log.format, andlog.levelin config file #30 (@robbiet480)
Dependencies
- Switched go-snipeit dependency from CampusTech fork to upstream #31 (@robbiet480)
Documentation
- Added README screenshot and demo asset script #28 (@robbiet480)
Upgrading
Run axm2snipe setup -v to provision the new custom fields and have your field_mapping updated automatically (including the new native purchase_date and order_number entries).
Contributors
Full Changelog: v1.6.0...v1.7.0
v1.6.0
What's New
Improved Data Sync
- Fixed no-op updates caused by Snipe-IT value encoding differences #23 (@robbiet480)
- Added Wi-Fi, Bluetooth, and Ethernet MAC address custom fields to setup #22 (@robbiet480)
- AppleCare warranty notes now render as a pipe-separated table for better readability #27 (@robbiet480)
Logging & Performance
- Added
--log-fileand--log-formatflags for flexible logging configuration #26 (@robbiet480) - Integrated rate limiter and logger into Snipe-IT client #25 (@robbiet480)
Bug Fixes & Configuration
- Fixed duplicate
_snipeit_*IDs in settings.example.yaml #24 (@app/copilot-swe-agent) - Corrected AppleCare payment type values #20 (@robbiet480)
- Added settings.example.yaml to documentation rules #20 (@robbiet480)
Maintenance
- Added README screenshot and demo asset script #28 (@robbiet480)
Contributors
- @robbiet480
- @app/copilot-swe-agent 🎉
Full Changelog: v1.5.0...v1.6.0
v1.5.0
What's New
Documentation & Configuration
- Updated README and CLAUDE.md with model image guidance, exact serial matching details, and recent fixes (#19)
- Added
settings.example.yamlto documentation rules for better configuration guidance (#20)
Bug Fixes
- Fixed AppleCare payment type values in configuration (#20)
Contributors
Full Changelog: v1.4.0...v1.5.0
v1.4.0
What's New
Device Images
- Add
model_imagesoption to automatically fetch device images from appledb.dev for new models (#18)
Documentation
- Updated README and CLAUDE.md with guidance on model images, exact serial matching, and recent fixes (#19)
Contributors
Full Changelog: v1.3.6...v1.4.0
v1.3.6
What's New
Bug Fixes
- Fixed asset identity bugs with exact serial matching and serial-as-asset-tag handling #17 (@robbiet480)
Features
- Added
model_imagesoption to automatically fetch device images from appledb.dev for new models #18 (@robbiet480)
Contributors
Full Changelog: v1.3.5...v1.3.6
v1.3.5
What's New
- AppleCare Handling: Fixed AppleCare payment type field values to correctly match the ABM API specification (#16)
- Asset Matching: Resolved asset identity bugs including exact serial number matching and serial-as-asset-tag handling (#17)
Contributors
Full Changelog: v1.3.4...v1.3.5
v1.3.4
What's New
Performance & Caching
- Improved cache handling:
sync --use-cachenow skips ABM API calls entirely, and selective downloads reduce unnecessary traffic (#15) @robbiet480
Fixes
- Fixed AppleCare payment type field values to correctly match ABM API responses (#16) @robbiet480
Contributors
Full Changelog: v1.3.3...v1.3.4
v1.3.3
What's New
Build & Installation
- Fixed
go installcommand by removing replace directives (#14 by @robbiet480)
Performance
- Improved cache handling:
sync --use-cachenow avoids unnecessary ABM traffic - Optimized selective download to reduce bandwidth usage (#15 by @robbiet480)
Contributors
Full Changelog: v1.3.2...v1.3.3
v1.3.2
What's New
- Display serial number in AppleCare download progress bar for better visibility during syncs #11 (@robbiet480)
- Fix
go installcompatibility by removing replace directives #14 (@robbiet480)
Contributors
Full Changelog: v1.3.1...v1.3.2