v6.0.0
⚠️ IMPORTANT: Snipe-IT v6 requires PHP 7.4 or greater, and does support PHP8
Holy moly folks, today's the day! We're thrilled to announce the release of Snipe-IT v6.0.0. Over a year in the making, we think this is our best release yet, and although we have backported a lot of what we could to v5.4.x, there's a lot that's new and improved.
Note: Composer 2 is highly recommended for this upgrade. To upgrade your copy of composer, you can run composer self-update --2
. If you need to downgrade back to v1 at any point, you can just run composer self-update --1
.
TLDR;
Added
- SCIM support to allow auto-provisioning of users without LDAP sync
- Logout user when their activated status is switched to off - #10876
- PDF Report of signed EULA + Option to attach files for Download at signature process [#8260]
- Ability to save EULA PDF with signature on asset acceptance
- Ldap_manager field to ldap sync
- Bulk checkin
- PHP8 compatibility
- Restore interface from previous Snipe-IT backup in web UI
- Ability to upload asset images via API
- Components and users count to dashboard
- Dashboard module for locations [ch9199]
- Asset restore to API
- Reqestable as model bulk edit field
- Stricter validation for slack hooks (people were trying to use non-slack urls for webhooks)
- Additional fields to new user modal window [#10421]
.my.cnf
to disablecolumn-statistics
backup for Docker- New concept of "remote worker" and API points to filter by them, as well as option in bulk editing users [#10775]
- First pass at Artisan-based LDAP troubleshooter - [#10033]
- Filter by
status_type
in StatusLabels API index endpoint [#10829] - Filter by
assets_count
,consumables_count
,licenses_count
, andaccessories_count
on user API endpoint
Improved
- Tons of mobile and web UX/UI improvements [#10129]
- Optimized queries for faster loading
- Upgraded from Laravel 6 to Laravel 8
- Remote User login: support Google Cloud IAP headers
- More S3 compatibility
- Upgraded to latest Font Awesome
- Exclude
web.config
from Apache - Many improvements to localization, adding more translatable strings to the UI
- Handle
file_get_contents
more gracefully - Rework the LDAP sync command to better handle the active flag
- Better Amazon SES compatibility
Fixed
- Fixed PDF export to use correct filenames and selected columns
- Fixed "secure hostnames" feature for subdirectory-based Snipe-IT installs
- Fixed #10769 - redirect user back to due for audit page
- Fixed #10840 - defaulting to 0 on supplier ID if no value provided
- TONS of bugfixes (too many to list)
- Improved Docker support
- Improved accessibility
- Reverted back to the old LDAP login and sync methods from AdLdap, which had caused more problems than it solved in the long run
- Fixed #8828: Can't search by checked out user in advanced search
- Fixed extraneous wildcard query in asset search [#10514]
- Fixed #8143 - Date localization in custom fields DATE field [#10805]
- Fixed issue where data tables were requesting the API twice [#10767]
Removed
- Dropped support for PHP 7.3 (PHP 7.3 is already EOL, so you should have definitely upgraded anyway)
This list looks short, and you're welcome to explore the (very long) list of changes in the autogenerated list, but they took a ton of work, both from the staff here at Grokability, and the amazing list of open source contributors who have helped make Snipe-IT even better.
A Few Quick Notes
We will be moving this repo from https://github.com/snipe/snipe-it to the @grokability organization account soon. This is just a heads up for any of you that have automations that could be impacted.
We will also be changing the primary stable branch from master
to main
, shortly. Because of existing automations, we will still be pushing to master
up until Snipe-IT v7, but it will likely be about a week behind main
, so you may want to update automations there too.
If you're having trouble upgrading or you found a bug, be sure to open an issue here on Github, or pop into our Discord server. And be sure to check out our blog for Snipe-IT updates, miscellaneous tech discussions and other stuff.
Auto-Generated Changelog
- Basic fixes to at least get the dashboard up by @uberbrady in #9699
- Finished fixing the web routes file by @uberbrady in #9702
- Remove barryvdh's laravel-cors for fruitcake's laravel-cors by @uberbrady in #9703
- Get it so that we can re-build assets. by @uberbrady in #9704
- Develop v6 integration by @uberbrady in #9737
- Removed Ziggy.baseUrl references for meta references that already had baseUrl by @uberbrady in #9741
- Livewire integration for Snipe-IT v6 by @uberbrady in #9766
- Add new php extension dependencies for v6 by @dampfklon in #9858
- adds newer versions of devices for demo by @Godmartinz in #9852
- Added #9594: Feature/api image uploads for v6 by @PetriAsi in #9824
- Update demo photos of iPhones to be more modern [ch16531] by @Godmartinz in #9924
- adds a Floor value for depreciation models by @Godmartinz in #9937
- Fixed donked layout on required field error in depreciations by @Godmartinz in #9987
- Added restore functionality to user API by @Delta5 in #10111
- Added userpics from thispersondoesnotexist.com by @snipe in #10125
- Fixes route not defined exception on components and consumables by @inietov in #10128
- Features/improved mobile ux by @snipe in #10129
- Upgraded FA icons to latest by @snipe in #10132
- Fixed issue when creating a status label via API - default_label and show_in_nav being not nullable by @snipe in #10103
- Rename license migration to resolve fatal error running migrations by @svpernova09 in #10135
- Try to generate a new composer lockfile under PHP 7.3 by @uberbrady in #10148
- Fixes New department error importing users. by @inietov in #10150
- Fixed #10158 Specify docker images versions by @AL4AL in #10159
- Fix default values for custom fields for models rebased by @uberbrady in #10166
- Feature #9514, Feature #9378 Unaccepted Assets Report Actions, Fixed [ch16410] by @dampfklon in #9529
- Fixes #9365 #9800 Added a validation to use the same name in categories with different types [sc-17487] by @inietov in #10179
- Exclude web.config from Apache by @tanji in #10186
- Fixed misisng hamburger menu by @snipe in #10192
- Fixes bulk edit message counts more users than the actual selected users number by @inietov in #10215
- Adds reqestable as model bulk edit field by @snipe in #10248
- support apache REDIRECT_* for remote user login by @Sxderp in #10245
- Fixes asset components must return relationship instance by @inietov in #10238
- Fixed #9904: Advanced search with serial and another field produce incorrect results (v2) by @Toreg87 in #9906
- Fixes Bug: When parent asset is assigned to other location, children assets loca… by @Godmartinz in #10209
- Fixed #sc17129 - Pie chart disappears when window resizes by @Godmartinz in #10113
- Add licenses api parameters and fix a missing variable in license view. by @ncareau in #9889
- Change from ENV to config value for PUBLIC_AWS_URL by @misilot in #9541
- Adds a check to know if the asset is checked out to the logged in user to allow check the state in the view by @inietov in #9847
- Feature #9378 remove deleted user from unaccepted assets report by @sh1hab in #9508
- Fixed #9798: Scope departments for FullMultipleCompanySupport by @Toreg87 in #9799
- Fixed #8828: Can't search by checked out user in advanced search by @PlaneNuts in #10258
- Tweak Restore command to also run via webserver via Artisan::call() by @uberbrady in #10296
- Cleaned up the output and added some better checks for errors by @uberbrady in #10298
- Typo in upgrade.php by @SBrown2021 in #10302
- v6 Feature - Added backup restore from GUI by @snipe in #10297
- v6 bug - Error when editing model with no custom by @snipe in #10316
- Fixed v6 bug 500 server error when trying to checkin by @snipe in #10333
- Added text-right to presenters for money values by @snipe in #10334
- [sc-17645] Composer install under phpv8 by @uberbrady in #10288
- Update upgrade.php with newer requires by @snipe in #10349
- Fixes Default Values - Date not applying by @inietov in #10354
- Fixed #5676: Sum cost by quantity by @Computroniks in #9902
- Adds stricter validation for slack hooks by @snipe in #10394
- Fixed #10365: Snipe-IT has a wrong total purchase cost when reaches m… by @aranar-pro in #10393
- WIP - Fixing unit tests, switching to dusk by @snipe in #10388
- adds info on how to nullify reorder alerts for consumables, component… by @Godmartinz in #10239
- Yank assetlog from eager-load clause in API query for develop by @uberbrady in #10416
- Add title column to custom reports by @inietov in #10432
- Fix route to checkout components from the details page by @inietov in #10434
- Master into develop by @snipe in #10450
- Create new user account from asset form - additional fields by @Robert-Azelis in #10421
- Fixes Duplicate department in user import by @inietov in #10460
- Fixed #10467 - Safari only font-awesome bug by @snipe in #10468
- Finished localizing backup restore strings by @snipe in #10492
- Remove old ldap by @uberbrady in #10265
- Added #10242: Improved localized strings by @nuraeil in #10264
- Fixed #7824 by @exula in #10494
- Fixed - v6 migration licenses table issue by @snipe in #10491
- Added #10436: Restricted Logins to SAML controlled via environment variable by @adagioajanes in #10449
- Fixed #10089 (partially): Back to master: Added some BS tables style overrides for mobile by @UniversalSuperBox in #10496
- Fixes auth controls on api key creation by @snipe in #10504
- Adding .my.cnf to disable column-statistics backup by @misilot in #10509
- Adding .my.cnf to disable column-statistics backup by @misilot in #10510
- Add new UserAccountControl to permitted UAC's for AD. by @uberbrady in #10502
- Permit DONT_REQ_PREAUTH AD users to log in by @uberbrady in #10503
- Duplicate route meant overwrite of route-name by @uberbrady in #10512
- Fixed extraneous wildcard query in asset search by @uberbrady in #10514
- Make 'pending' assets properly requestable; use requestable scope by @uberbrady in #10519
- Fixes an issue where importer is creating duplicate asset models for Master Branch by @inietov in #10521
- Fixes an issue where importer is creating duplicate asset models by @inietov in #10520
- Fixes bug where the depreciation report shows assets that not depreciate by @inietov in #10522
- Fixes bug where the depreciation report shows assets that not deprecate for master by @inietov in #10523
- Fixes PDO exeception syntax error when Expiring Alerts Threshold is not set by @inietov in #10527
- Add Zip field in the User Importer [sc-18556] by @inietov in #10533
- Fixes #10536 Unable to add asset model (v6.0.0-RC-1) by @inietov in #10545
- Force UrlGenerator's Root URL to be the base of APP_URL unless overriden by @uberbrady in #10528
- Fixed #10564: Edit the route to associate custom fields with fieldsets by @inietov in #10566
- Fixes Importing licenses without product key duplicates the license for develop branch by @inietov in #10568
- Add Zip field in the User Importer for develop [sc-18556] by @inietov in #10534
- Force UrlGenerator's Root URL to be the base of APP_URL unless overriden (v5) by @uberbrady in #10529
- Fixes donked layout required field error depreciation [sc-17111] by @inietov in #10570
- Fixes Importing licenses without product key duplicates the license by @inietov in #10567
- Adds audit dates in the asset importer by @inietov in #10511
- Add some guardrails around very-badly formatted APP_URL settings by @uberbrady in #10573
- Added #9576 - Lookup Asset by Custom Field via API [sc-18632] by @snipe in #10576
- Replace .my.cnf with column-statistics.cnf at the system level for mysqldump (master) by @misilot in #10580
- Fixes Bulk edit doesn't show in Asset's history nor Activity report [sc-16550] by @inietov in #10586
- Typo found in snipeit/routes/api.php @ line 391 by @TenOfTens in #10588
- Allow invalid app urls develop by @uberbrady in #10591
- Fixes Bulk edit doesn't show in Asset's history nor Activity report for develop [sc-16550] by @inietov in #10590
- Replace .my.cnf with column-statistics.cnf at the system level for mysqldump by @misilot in #10579
- Add some guardrails around very-badly formatted APP_URL settings by @uberbrady in #10574
- Fixed markdown upcoming audits email table by @uberbrady in #10592
- Added #10454: Quick Scan Checkin by @adagioajanes in #10455
- Fixes: Column activated cannot be null for develop [sc-18528] by @inietov in #10605
- Fixes: Column activated cannot be null [sc-18528] by @inietov in #10604
- Fixes #10563 - Rework the LDAP sync command to better handle the active flag by @uberbrady in #10610
- Fixes #10563 - LDAP active flag - hopefully? by @snipe in #10607
- D'oh! Migration fails on empty settings table :( by @uberbrady in #10611
- Fixed Bug/sc 18678/add required field marker to default currency by @Godmartinz in #10622
- Fixes #10577 - Fix "secure hostnames" feature for subdirectory-based Snipe-IT installs by @uberbrady in #10623
- (Develop) fix secure hosts in subdirectory by @uberbrady in #10624
- Fixes #10614 Checkin/Checkout API route's broken by @inietov in #10625
- Fix #10629: Fix /hardware/{id}/checkin API response on error by @JonathonReinhart in #10630
- Fixes #10627 Inconsistencies between checkout/checkin dates on asset history and activity log by @inietov in #10635
- Fixes #10627 Inconsistencies between checkout/checkin dates on asset history and activity log for master branch by @inietov in #10636
- Alert when invalid JSON is submitted to something that wants it by @uberbrady in #10637
- Report invalid json develop by @uberbrady in #10638
- Fixes #10299 Default Values do not allow Checkbox/Radio Buttons by @inietov in #10628
- Check that the field exists before trying to detach it from the fieldset by @snipe in #10646
- Fix #10552: Add checkin_at parameter to /hardware/:id/checkin API by @JonathonReinhart in #10640
- Fixes ErrorException: Trying to get property 'checkin_email' of non-object [sc-17568] by @inietov in #10654
- Fixed - Check for valid user before trying to present the auditor name by @snipe in #10657
- Added additional gate for selectlists by @snipe in #10662
- Adds gate to supplier by @snipe in #10665
- Added Asset edit/delete gates to maintenances by @snipe in #10672
- Fixes 2FA cookie -> user issue by @snipe in #10681
- Adds delete endpoint for licenses by @snipe in #10683
- Added usleep random to forgotten password method to mitigate timing attacks by @snipe in #10679
- Fixed #10639 - incorrect linear depreciation calculation by @Godmartinz in #10670
- [Snyk] Upgrade jquery-ui from 1.13.0 to 1.13.1 by @snyk-bot in #10656
- Fixes ErrorException: Trying to get property 'checkin_email' of non-object for develop[sc-17568] by @inietov in #10655
- Fixes #9592 - Added unique option to custom fields by @snipe in #10688
- Feature Save logged in user data and re-add them after restore if they don't exist [ch-17664] by @inietov in #10697
- Fixes #10699: Added 2 breaks in message.blade.php by @insert-waffle in #10700
- Fixed #10690 - Initial audit date fix by @snipe in #10691
- Added use statement by @snipe in #10713
- Fix CORS requests on master by @uberbrady in #10718
- Fixes Restricted Logins to SAML controlled via environment variable #10436 - applies #10449 to master by @snipe in #10722
- Fixed API throttling by @snipe in #10734
- Separate notes on assets and asset models on master branch [sc-18810] by @inietov in #10736
- Fixes 10708: removed line height of manufacturer and changed size of fa-hdd to 2x by @insert-waffle in #10729
- Fix for location and model drop down with granular permissions. by @aranar-pro in #10751
- Feature: Prevent showing of double values in a checkin or checkout email by @insert-waffle in #10739
- Added consumables endpoint to user API by @snipe in #10721
- Fixes trying to get property 'id' of non-object when running develop seeders. by @inietov in #10417
- Fixed weird JSON-handling on log_meta updates by @uberbrady in #10682
- Use “update” instead of edit in gate by @snipe in #10772
- Added ldap_import and assets_count to user api by @snipe in #10773
- Fixed #6918 - added notes to accessories, components, consumables by @snipe in #10774
- Retry fix bad metadata display by @uberbrady in #10771
- Added remote checkbox to user by @snipe in #10775
- Add remote user setting to bulk edit by @snipe in #10777
- Added trim to email and username by @snipe in #10776
- Use the max_results env value in the paginator by @snipe in #10797
- Added QR and alt barcode urls to asset transformer by @snipe in #10798
- Check if table exists before trying to create in migrations by @snipe in #10799
- Fixed [ch14855] - create LDAP troubleshooter by @uberbrady in #10033
- Fixes #8143 Date localization not work in custom fields for develop branch by @inietov in #10805
- Removed experimental feature policies by @snipe in #10806
- One attempt to fix the 'datatable double-request' problem. by @uberbrady in #10767
- Fixes Carbon\Exceptions\InvalidFormatException: DateTime::__construct(): Failed to parse time string develop by @inietov in #10812
- Fixes Carbon\Exceptions\InvalidFormatException: DateTime::__construct(): Failed to parse time string by @inietov in #10811
- Fixed #10191 - font color contrast on mobile menu by @Godmartinz in #10728
- Added session killer artisan command by @snipe in #10814
- Fixed #10825 - selectlists in modals b0rked by @snipe in #10827
- Fixed #10826 - parse error on translation string for print all assets by @snipe in #10828
- Added filter by status_type in StatusLabels API index endpoint by @snipe in #10829
- v6.0.0-RC-5 - Merges master down to develop by @snipe in #10831
- Fixes Customfields with boolean format not saving [ch-9973] by @inietov in #10809
- Fixed #10840 - defaulting to 0 on supplier ID if no value provided by @snipe in #10841
- Fixed #10819 - use full url for label barcodes by @snipe in #10848
- Fixes #10769 - return to Due for Audit screen after auditing by @snipe in #10849
- Fixes #10753 Licenses assigned to assets don't follow users by @inietov in #10851
- Fixes Customfields with boolean format not saving master[sc-9973] by @inietov in #10853
- Validate custom fieldset only if the asset have one by @inietov in #10855
- Fix bs tables export options by @uberbrady in #10857
- next_audit_date error on saving asset by @andreaci in #10861
- Fixed #7891, #3019 and #8260 [sc-15014] - added asset acceptance and signed eula as pdf by @Godmartinz in #10737
- Don't crash JS when there are no data-export-options (as is true in Dashboard) Fixes #10872 by @uberbrady in #10873
- Fix problem with static paths by @qveensi in #10874
- feature: adds ldap_manager field to ldap sync by @Godmartinz in #10850
- [Feature] Adds CodeQL to the SDLC process by @ahpaleus in #10843
- Fix #10810 unaccepted assets by @dampfklon in #10817
- Logout user when their activated status is switched to off by @snipe in #10876
- Merge master back down into develop by @snipe in #10879
- Security fixes to master branch by @joelpittet in #10895
- Fixes #10898 (invalid consumable date time info in user view) by @veenone in #10901
- Fixes Dates in Print All Assigned report doesn't match to history by @inietov in #10903
- Security updates to enshrined/svg-sanitize and guzzlehttp/psr7 by @joelpittet in #10897
- SCIM integration using laravel-scim-server library by @uberbrady in #10889
- Fixed #10892 - MySQL 8 compatibilty requires primary key by @snipe in #10902
- Fixes Importer always update existing values develop by @inietov in #10883
- This disables the display of HTML content during exports (cherry-picked for master) by @uberbrady in #10918
- This disables the display of HTML content during exports by @uberbrady in #10917
- Fixed #10866 - action_date for check-in not including H:i:s by @Godmartinz in #10920
- Fixed #10866 - Checkin time always shows 12am by @Godmartinz in #10919
- Fixes Bulk user edit not updating checked out asset locations by @inietov in #10914
- Fixes Bulk user edit not updating checked out asset locations by @inietov in #10913
- Fixes #10482 - Downgrade bootstrap-table so columns stay remembered by @uberbrady in #10927
- Fix #10482 for develop - Downgrade bootstrap-table to fix remembered-columns feature by @uberbrady in #10928
- Backport the license index fix from Develop onto the v5 branch by @uberbrady in #10935
- Ports #10494 to master by @snipe in #10936
- Fixes potential XSS vuln in user requestable results by @snipe in #10942
- Added status_id to asset checkout API by @snipe in #10943
- Fixed double updates from action log and history by @Godmartinz in #10952
- Escape checkout target name by @snipe in #10971
- Fixed #10983: Possibility to set region for AWS (SES) by @chrisweirich in #10982
- Added access gate to the requested assets index by @snipe in #10991
- Fixed model export filename to use str_slug for filename for JS export (like we do elsewhere) by @snipe in #10994
- Fixes #10980 - Prevent immediate saml login after normal logout by @johnson-yi in #10998
- Fixes Activity Report Download all action fails creating the CSV report. by @inietov in #11000
- Fixes Activity Report Download all action fails creating the CSV report for develop. by @inietov in #11001
- Update feature_request.yml by @benwa in #11016
- Merge master into develop for RC 6.0.0-8 by @snipe in #10993
- Update BS tables and table export to latest by @snipe in #11018
- Fixes QueryException Integrity constraint violation: Column 'order' cannot be null by @inietov in #11002
- Fixes QueryException Integrity constraint violation: Column 'order' cannot be null for develop by @inietov in #11003
- [Fix] changes the query for the accept signature on print blade by @Godmartinz in #10941
- Use full app_url in default favicon paths by @snipe in #11022
- Fixed #10890 - Use translation strings in assigned printout instead of hardcoded English by @snipe in #11023
- Fixed #10890 - Missed a few hard coded english strings by @snipe in #11025
- Fixed #11026 - add bulk edit to other asset views by @snipe in #11027
- Added license seat ID to the UI by @snipe in #11039
- Remove extraneous
{
in migration by @uberbrady in #11040 - Fixed validation for purchase cost allowed to be negative by @Godmartinz in #11048
- Update Livewire assets, and make Composer auto-update Livewire assets by @uberbrady in #11055
- Make sure to decrypt Textareas as well as input type=text by @uberbrady in #11050
- Fixed kit checkout permissions if admin is not superadmin by @snipe in #11058
- Bootstrap tables export as landscape by @Godmartinz in #11059
- Sets maxlength of user fields to 191 by @snipe in #11063
- Switch the barcode backend to SVG, and fix the two-factor middleware by @uberbrady in #11066
- Fix cancel button in two-factor sign-in screen by @uberbrady in #11067
New Contributors
- @Delta5 made their first contribution in #10111
- @AL4AL made their first contribution in #10159
- @tanji made their first contribution in #10186
- @Toreg87 made their first contribution in #9906
- @PlaneNuts made their first contribution in #10258
- @SBrown2021 made their first contribution in #10302
- @Computroniks made their first contribution in #9902
- @Robert-Azelis made their first contribution in #10421
- @nuraeil made their first contribution in #10264
- @UniversalSuperBox made their first contribution in #10496
- @TenOfTens made their first contribution in #10588
- @insert-waffle made their first contribution in #10700
- @andreaci made their first contribution in #10861
- @qveensi made their first contribution in #10874
- @ahpaleus made their first contribution in #10843
- @veenone made their first contribution in #10901
- @chrisweirich made their first contribution in #10982
Full Changelog: v5.4.4...v6.0.0