Caution
This version of Snipe-IT REQUIRES PHP 8.2.0 or greater, 8.3+ recommended.
Happy Tuesday! This release introduces an updated UI, improved searching, and fixes several security issues. All users are encouraged to upgrade.
A lot of what we've been working on has been under the hood - code improvements to make it easier for us to more quickly and reliably act on things you folks have been asking for. They don't look like a lot on the face, but they're important to get the project to a state where we can move a bit faster.
As such, you will definitely want to run php artisan view:clear to clear your old cached views. If you're using the upgrade.php script, it will do that for you, so no need to worry about it.
As you'll notice, we did switch up the UI on detail pages a bit. We've introduced a new component that we're calling the "info panel".
Screen.Recording.2026-03-20.at.5.42.43.PM.mov
It might be a little confusing to start with, but we think you're really going to like it. For all "first class objects", all of the most common information will now be available consistently, in the same place, every time.
The new info panel includes copy-to-clipboard functionality for just about everything, and if you don't need that information and want to work with the wider table view, just click on the arrow button to hide it. The show/hide is stored in local storage, so it will remember whether you wanted it open or not as you navigate through the system. The hover tooltips will give you more information when it's available or necessary.
We've tried to listen to feedback about the most important elements that people care about when they are viewing an item's detail page and give those priority. We know change is hard though, so keep that feedback coming. We can't promise we can act on every piece of feedback we get, but we listen to all of it and ultimately are committed to making your experience with the product as good as it can be.
At the end of the day, any time you change the UI on anything, people will have Big Feelings. Some of the feedback we've gotten so far is really positive, some less so - but we're always listening, even if you fall on the "less so" side of things.
We've also introduced some mobile navigation improvements, turning the tabbed interface into a dropdown on very small screens.
A quick mea culpa to our hosted customers
In the process of migrating some of you to newer, faster machines, some of you were upgraded a little earlier than we had planned, while things weren't quite polished up. Many of you have reached out via the helpdesk and we've gotten you sorted, but we're sorry that happened. We would have at least wanted to give you a heads up about the UI changes.
We always want the hosted experience to be the most excellent way to use Snipe-IT, and this past week was a little rockier for some of you. We're taking steps to make sure that doesn't happen again when we need to migrate customers from one server to another.
What's Next
We have an upgrade to Laravel 12 sitting on develop which will fully support PHP 8.5, and very shortly after that, group support for SCIM.
Potentially Breaking Changes
The filters for asset status type, (Pending, RTD, Archived, Deleted, etc) have been changed from status=Archived to status_type=Archived.
Documentation Platform Bugs
Our current documentation platform is having some issues and some pages might not be available. After many hours talking to their support (and their stupid AI chatbot), we're going to have to revert some of the formatting on many of the pages to get them to render. How did this happen? No idea. We didn't change anything. But we need to get those pages back online for you and new folks who want to install Snipe-IT. If you get an error in the docs saying that the page cannot be rendered, just open a GH issue and we'll jump right on that. We have a lot of docs to get through, and we're starting with the most common pages first.
Mobile App Update
We've created a Google Form so we can start tracking people who want in on the Testflight invite. Please fill in this form if you're interested in helping us test! https://forms.gle/HEsWuHSqLLjx8xnR8.
What's Changed
- Fixed RB-20713: Improved validation of license seat update api endpoint by @marcusmoore in #18576
- Fixed #18600 - add filesystem check on health checker by @snipe in #18606
- Added maintenances seeder by @snipe in #18612
- Added model number as a separate field, added sorting by @snipe in #18613
- Fix deprecated string interpolation in controllers by @joelpittet in #18609
- Bumped Debugbar to v4 by @marcusmoore in #18485
- Adds #11741 currently assigned license table to license checkout by @Godmartinz in #17964
- #5947 - roll up bulk asset checkout email by @marcusmoore in #18095
- Fixes (hopefully) RB #19772 Unexpected EOF by @spencerrlongg in #18614
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #18623
- Compacted nav UI, components for buttons by @snipe in #18638
- Fixed Checkin All Seats button by @marcusmoore in #18628
- Fixed #18282 - added original notes to checkout target in custom report by @snipe in #18639
- Fixed some minor issues in tests by @marcusmoore in #18637
- Upgraded Livewire to v4 by @marcusmoore in #18494
- Fixed: Added global report templates by @akemidx in #18426
- Fixes inaccurate monthly depreciation value displayed at depreciation report when using a floor value by @iryadifarhan in #18248
- Feature: Added xx days since last update to Custom Report by @akemidx in #17666
- Adds #17685 better warning for bulk status change to undeployable type by @Godmartinz in #18162
- Re-add Location Observer with null-safe companyable check by @uberbrady in #18644
- Upgrade Passport to v13 and move php-jwt to v7 to remediate JWT advisory by @joelpittet in #18601
- Revert "Upgrade Passport to v13 and move php-jwt to v7 to remediate JWT advisory" by @snipe in #18647
- Fixed #17202: Replaced countries form macro by @marcusmoore in #18658
- Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #18649
- Bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #18650
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #18651
- Bump docker/login-action from 3 to 4 by @dependabot[bot] in #18652
- Fixed #17208: Replace username_format macro by @marcusmoore in #18656
- Fixed #18662 wire up search box in assigned license seats by @snipe in #18665
- Fixed #17200 and #17201: Remove alt_barcode_types and barcode_types macros by @marcusmoore in #18657
- Fixed #18666: Migrate Laravel Collective helper methods by @marcusmoore in #18667
- Fixed #17199: Remove Laravel Collective HTML dependency by @marcusmoore in #18672
- Normalize breadcrumb text by @snipe in #18679
- Added copilot instructions file by @snipe in #18680
- Use intended() for redirect options by @snipe in #18681
- Use Blah::class instead of new Blah in form requests by @snipe in #18688
- Improved asset tests by @marcusmoore in #18685
- Updated copilot instructions by @marcusmoore in #18684
- Fixed #17348 - show deleted assets for deleted models by @snipe in #18714
- Fix CC Mail header for checkouts and check-ins by @Godmartinz in #18543
- Fixed #18574 - adds checked out field to maintenances by @snipe in #18717
- Added status component box by @snipe in #18718
- Add .git-blame-ignore-revs file by @marcusmoore in #18719
- Improved asset maintenance report by @snipe in #18722
- Modernize views by @snipe in #18728
- Fixed FD-54250: Display assigned entity in expiring assets mail by @marcusmoore in #18735
- Fix CVE-2026-33347 and CVE-2026-30838 in league/commonmark by @joelpittet in #18739
- Added Armenian updated languages by @snipe in #18742
- Added % remaining and create asset button to models view and list by @snipe in #18744
- Modern UI for assets view by @snipe in #18740
- Added percent bars to accessories, etc list views by @snipe in #18749
- Fixed #18495: properly handle null audit date during bulk audit by @marcusmoore in #18755
- Modernize user view by @snipe in #18754
- Added #18761: Debian 13 support in snipeit.sh installer script by @vmikhnevych in #18762
- Add S3 proxy option by @guyguy333 in #18737
- #18767 added uploads for companies by @snipe in #18770
- Fixed #18573 - download URLs for S3, actually force the download by @snipe in #18777
- Expand Searchable trait to better cover the advanced search filters by @snipe in #18778
- Wrap importer errors in array properly by @spencerrlongg in #18792
- Better Error Reporting in Custom Rules by @spencerrlongg in #18791
- Removes Unused License Route by @spencerrlongg in #18790
- Fixes bulk edit breadcrumb translation by @Godmartinz in #18788
- Fixes FD-54467 TZe_24mm_E Field value to extend full width by @Godmartinz in #18758
- Fixes PKSA-4t1p-xpk2-nsss for aws/aws-sdk-php by @joelpittet in #18783
- Fixed #18797: Fix link to components in asset view by @marcusmoore in #18799
- Small improvements to activity report by @snipe in #18801
- Fixed #18802: Display dynamic support url for manufacturers properly by @marcusmoore in #18803
- Fix #18595 checkout acceptance url bug by @Godmartinz in #18800
- Added model number on info-panel if the object is an asset by @snipe in #18807
- Fixed RB-4103: Allow more models to access dynamic url presenter method by @marcusmoore in #18806
- Fixes #18715 Fixes disabled CSS rules for select2 by @Godmartinz in #18805
- Fixed #18810: Display acceptance url in checkout asset email by @marcusmoore in #18815
- Fixed #18798: creating assets with location for non-super-admins with FMCS by @marcusmoore in #18818
- Fixes #18811 locale for Requestable notifications by @Godmartinz in #18817
- Adds to #18778, fixes for advanced search by @snipe in #18820
- Adds #18663 generic example logo for label preview by @Godmartinz in #18814
- Rename assetstatus to status (variation of #18808) by @snipe in #18809
- Fixed #18821- history api pagination by @snipe in #18822
- Added actions for normalizing permissions input by @snipe in #18823
- Asset components display fix by @snipe in #18834
New Contributors
- @vmikhnevych made their first contribution in #18762
- @guyguy333 made their first contribution in #18737
Full Changelog: v8.4.0...v8.4.1