github grokability/snipe-it v8.8.1

4 hours ago

Caution

This version of Snipe-IT REQUIRES PHP 8.2.0 or greater, 8.4+ recommended. PHP 8.2 is still in security release support until 31 Dec 2026, but let's not play that game - and some of the new features we're working on will require PHP 8.3+, so... get on that, ferreal!

Happy Monday (or Tuesday, depending on timezone), nerds!

Whew! We've moving at light speed, but so much good stuff to share with you.

Cringey millennial meme kid

LOTS of work on the new sync adapters - and thank you ALL who have given us feedback on them. We don't have direct access to every one of them, so your quick feedback has been able to help us improve them for everyone. They are still in beta, but we love that folks are already integrating them. Of all the features we've released in the past few years, this one really seems to have landed, and we're thrilled.

The Highlight Reel

There have been 673 commits since the last tagged release (v8.8.0), 77 issues resolved, and 81 security fixes.

Cringey millennial security-meme computer-panic

Don't be too spooked by the CVEs in the changelog. None of them ever hit production as they're largely dev tools or dependencies that never surface in the end product, but it's important to keep up to date on these things.

πŸŽ₯ Checkbox multi-select dropdowns

Some (where appropriate) multi-select dropdowns in Snipe-IT now render with actual checkboxes next to each option. You'll mostly see this on very long lists where the "tag-style" multi-select kind of sucked.

Checkbox multi-select demo

πŸŽ₯ Label Editor

You can now build, tweak, preview and save your own label layouts without fighting template files thanks to some big changes with the label engine. Great work from @Godmartinz!

Create a new custom label from scratch, go nuts! Choose either a sheet or tape label, configure its dimensions and layout, and then customize its content, supported features, and appearance in the label editor.

CleanShot 2026-08-13 at 10 45 47

You can also import a previously exported custom label configuration from a JSON file or by pasting the configuration text. The imported label can then be reviewed, edited, and saved as a new custom label. This allows for crowdsourcing labels, which we're hoping will help the entire community.

... and tons more. Check it out here: #18938

Label editor demo

πŸŽ₯ Bulk actions and archive for Components, Consumables, and Accessories - and marking Consumables as "consumed"

You can now bulk edit, bulk delete, bulk check in, and archive without actually deleting. Consumables got a similar pass, and we added a new "mark as consumed" option for assignments that aren't coming back.

Components bulk demo

Bulk reminders for unaccepted items

We added a select-all or selective send checkbox UI to the unaccepted items UI. (Note: That interface has also moved out of the reports section, since it kinda didn't belong there to start with.)

We also added a new API endpoint so you can wire this up to a cron and send regular reminders at whatever cadence you like.

Company-specific webhooks for check-in and check-out

If you run FMCS with per-company Slack or Teams channels, check-in and check-out webhooks now route to the company's own integration instead of a shared global one.

Sync adapters updates

A ton happened on the adapter side this release, in no small part to the incredibly quick feedback we got from the community.

Cringey millennial thanks meme thanks-satan
  • The Intune settings page gained a new Custom Extras widget where you can pair any Snipe-IT custom field with a dot-path into the vendor record (for example hardwareInformation.systemManagementBIOSVersion), and we'll be rolling this out to the other adapters in follow-up releases.
  • Intune's preset field list grew from 4 to 28, now including Wi-Fi MAC, storage total and free, encryption state, IMEI, MEID, Azure AD device info, enrollment profile, management cert expiration, and more.
  • Intune gained an opt-in per-device enrichment checkbox for Ethernet MAC and Physical Memory, since Graph's LIST endpoint returns null for those (off by default because it adds a Graph call per device).
  • Intune also picked up scope tag filters, so you can narrow a sync to tagged devices only.
  • Every adapter now has a Model Fieldset default on its settings page, so any asset model the adapter has to auto-create gets linked to that fieldset.
  • Every adapter now has a Skip-adding-new-assets checkbox, for folks who want sync to only update existing records and never create.
  • AxM MAC addresses now come out colon-formatted and uppercased (01:23:45:67:89:AB), so the mac_address custom-field validator stops rejecting them.
  • AxM dual-SIM IMEIs are now handled correctly, with abm_imei_1 and abm_imei_2 as separate mapping targets (see the upgrade note below if you had abm_imei mapped).
  • Jamf Pro asset-tag push now writes to general.assetTag instead of userAndLocation.assetTag, which Jamf was silently discarding.
  • Sync adapter pagination no longer loses the query string on the last page.
  • last_seen now honors APP_TIMEZONE properly.
  • Model constraints are enforced across adapters and the importer.
  • Breadcrumb trails now extend into adapter sub-tabs so you know where you are (πŸŽ₯ in #19859).

Note

Sync Adapters are still in beta They're coming along great, but it's important to know that they're a work in progress. We're working tirelessly to make them fit every integration, but they are still beta, so use them at your own risk.

Entra SCIM de-provisioning no longer fails when employeeNumber changes

If an Entra tenant flipped a user to inactive in the same PATCH that updated their employeeNumber, the whole PATCH would 500 on the enterprise-schema op and the user wouldn't actually get deactivated. We now scan every schema node for the attribute before giving up. If you were hitting the Entra de-provisioning failure, you'll get working de-provisioning back automatically after upgrade with no config change needed.

Docs note: we're in the middle of updating the docs to reflect all the new features, screenshots, and changes in this release. If you see something in the app that isn't in the docs yet, that's why. We're working through them.

Upgrading

Same as always, run php upgrade.php from your Snipe-IT directory. Full walkthrough at snipe-it.readme.io/docs/upgrading.

A couple of upgrade heads-ups

Cringey millennial knowing stuff meme ed-guy-with-the-gun
  • If you were using the AxM adapter and had abm_imei mapped to a custom field, you'll need to re-map it to abm_imei_1 (and optionally abm_imei_2 for dual-SIM devices), because the old key is no longer in the picker.
  • If you had any custom integration on the Jamf side relying on userAndLocation.assetTag, you'll want to update it, because the push now writes to general.assetTag where Jamf actually stores asset tags.

Quick update on the official mobile app

Thanks (yet again) for all of the feedback! You've all been amazing, and we should be ready to go into public beta by the end of the month!

What's Changed

Full Changelog: v8.8.0...v8.8.1

Don't miss a new snipe-it release

NewReleases is sending notifications on new releases.