It's been a long time coming, but snipe-IT v3 is almost here. It's our biggest update yet (by far!), and we're excited to let you know what you can expect!
PHP 5.5.9 OR GREATER REQUIRED
This upgrade requires PHP version 5.5.9 or higher. It will not work with older versions of PHP. PHP 5.5.9 was released in February 2014.
Thanks to the awesome folks at Readme.io, we have a a new installation manual (this site) and a new user's manual. These new manuals are versioned, so we should be able to better support older versions moving forward.
We're still working on building out the User's Manual, but we're glad to finally be able to separate the two, since non-tech end-users don't really need to be scared off by all the installation tech-speak.
The v3 branch has been added to the main repo, and I encourage those if you who are more adventurous to pull it down and start playing with it.
You can view the demo at https://demo.snipeitapp.com.
Admin login is
admin, password is
First of all, v3 features a brand new interface which is much more compact. Huge parts of Snipe-IT involve viewing very wide screens of data (asset listing, etc), so the we're hoping the compacted sidenav will help folks on smaller screens.
The new look also comes with a snazzy color picker to let you customize your header color, and that color will also modify the color of your primary buttons and navigation "active" highlights.
Now you can create components, like RAM, HDD, etc, and assign them to assets.
If you choose to use the new minimum restriction, you'll see a notification when you login when your stock is getting low.
You'll also get an email alert when inventory drops below minimum thresholds, if you have alerts enabled. (You can now find the thresholds for inventory alerts and expiration alerts in your Settings panel.)
There is now a search bar in the top nav that lets you search for an asset by asset tag. This should integrate nicely with 2D barcode scanners. (We're still trying to work out how to handle focus intelligently without stealing cursor focus from other forms within the system.) Look for bulk barcode actions in the future (bulk scan checkin, etc).
We're working on ways to provide additional information to new users without cluttering up the UI. For example, clicking on the orange question mark in Accessories:
Would pop out contextual help:
You can now set a default language for the app, and users can override your selection with their own language selection.
Printing labels has always been a little rockier than it should be in Snipe-IT. We now allow you to adjust your own label sizes, and new labels can have both 2D and 3D barcodes on them:
If a user you're trying to check an asset out to already has assets assigned, a new side-box will appear when you select their name from the dropdown list on checkout.
LDAP import now updates existing users, versus the previous behavior of skipping existing users and only importing new users.
Previously, if you wanted your email alerts to go to more than one person, you'd need to set up a distribution list. In v3, you're able to enter multiple email addresses, separated by commas.
We've given you a few more options to choose from for the type of validation you need to have done on your custom fields.
You can now drag and drop reorder your custom fields. Editing is coming soon!
You can now import an asset's existing custom fields in your asset import. Check here for updated documentation on importing assets, and be sure to check out the new section on importing custom fields.
You can now bulk delete users and check in all of their assets, licenses, etc, and checkin-and-delete on individual user views.
You can now purge soft-deleted data either via the command line utility, or through the admin Settings panel.
You can read more about that in the Purging Soft-Deletes documentation.
The following changes are only important to developers and administrators in charge of managing the server set-up of their Snipe-IT instance,
We've upgraded to Laravel 5.2, which won't matter to those of you who aren't devs, but for those that are, you'll know that it opens a lot more doors for cleaner code and more straightforward things like authentication and authorization.
We're moving away from Catalyst's Sentry package, and switching to use Laravel 5's built-in goodies, now that they support the concept of authentication AND authorization. This is a massive rewrite, and I'll need all the help I can get from users who have a disposable test environment set up who can help me not only test installations, but upgrades.
I've gone back through and revamped some of the migrations and DB actions to hopefully allow Snipe-IT to once again run on PgSQL and other non-MySQL RDMS. That may not happen in v3, but we're working towards it for upcoming releases.
This will come as a relief to those of you who upgrade often. Laravel 5 introduces the Rails-esque
.env file to handle all configuration variables. This takes your configuration values out of the php files, which should make upgrading (and using the docker solution) much easier. Your initial upgrade to 3.* will be a little more hassle than usual as you have to copy over your config variables from a few different files into the .env file, but every upgrade that comes after should be much simpler.
You're still going to have to deal with composer, but I've added a pre-flight check and a web-based setup so that as long as composer is installed and you have valid database credentials (and a web server, of course), you should be able to fill in a few form details and get started. It's not flawless yet, and it's certainly not as easy to set up as, say, a wordpress site, but it's a start for more nooby folks that want to use Snipe-IT.
We've switched to using Model Factories for testing AND for seeding, so this should make seeding your database faster and more error-proof.
We've had a few circumstances where a user has managed to lock themselves out of the admin with no way to get their password back (no working email, etc). We've introduced a new command line tool that will allow you to create a new user that way, to handle those circumstances.
Check out the documentation on that here.
While I haven't finished ALL of the current tests, we're requiring new pull requests to include unit/BDD tests where applicable. I'll be expanding the contributor documentation to explain what testing framework we're using, and so on.
We're using a new method to validate models which will hopefully prevent the pesky error that seems to always come back, where updating a thing throws an error that it already exists. We have model level validation done right this time, and are using Laravel 5's new FormRequest validation for form field validation.
While we still have a ways to go, we're working on better documenting the code and have made the generated documentation available. We've got most of the controllers documented at this point, but are still working on the models, service providers, helpers and middleware.