v6.0.6
grokability/snipe-itv6.0.6Jul 1, 2022by snipe
AI Summary
A feature-rich release introducing model file uploads, new API tools, and SCIM support improvements, along with significant UI/UX enhancements like disclosure arrows and fullscreen tables.
Key Highlights
- Asset Models now allow file uploads (manuals, etc.)
- Added new console command `snipeit:make-api-key` for generating tokens
- Added ability to email a user a list of all their assets
- Added disclosure arrows for optional sections in forms
- Improved SCIM support to be more tolerant of missing fields
Breaking Changes
- Purging data and backup deletion must now be enabled in the `.env` file (requires `ALLOW_BACKUP_DELETE` and `ALLOW_DATA_PURGE`)
- Dashboard counts now only include non-archived assets by default
New Features
- Model file uploads
- API key generation console command
- Email user list of assets
- Disclosure arrows for forms
- Fullscreen option for tables
- Restore interface from backup in web UI
Full Release Notes
This version includes some small bug fixes and a handful of UI improvements that we think you'll really love - and adds a new index to improve performance. We also snuck in some additional filters for several of the API endpoints, so you can now search on `name`, `address`, etc on things like locations, categories, companies, etc. (You could always search by name, address, etc but it would search across all fields instead of that specific filter field.) We'll be updating the docs shortly. We've also made some improvements to our SCIM support so that it should be more tolerant of missing fields. We've love feedback on that either via Github or **[on our awesome Discord server](https://discord.gg/yZFtShAcKk)**. (Seriously though, the community there is great and you should definitely check it out.) ### First, the good stuff: ### Model Files Uploads This is a feature that we know people have been asking for so we're excited to finally deliver it. Asset Models now allow file uploads, and will appear on the models page *and also* on the new "Additional Files" tab of the individual assets. This is great for things like user's manuals that you would have previously had to upload individually to alllllll of the assets within that Asset Model, which was a bit of a bummer, and a waste of time and disk space. <img width="1630" alt="Screen Shot 2022-06-28 at 4 18 32 PM" src="https://user-images.githubusercontent.com/197404/176320523-a27abe00-6813-468f-8cf6-14171dffa5aa.png"> <img width="1630" alt="Screen Shot 2022-06-28 at 4 19 42 PM" src="https://user-images.githubusercontent.com/197404/176320528-5ab7907d-b983-4e47-8ffa-63170af707b9.png"> ### Custom Fields Weirdness We've been seeing an issue in *certain* cases where PHP has been upgraded that can result in a 500 error when adding/updating an asset, because what we're *expecting* that column to be named (from the `custom_fields` table) and what it's actually named on the `assets` table are now different, due to (what we think is) a small change in the PHP transliteration library. This updates the existing `snipeit:regenerate-fieldnames` console command to check both the column name on the `assets` table and also the value in the `db_column` field in the `custom_fields` table. You can tell if this script will fix your issue by going to the Custom Fields page in your UI, disclosing the "DB Column" column using the column selector, and then looking for warning text. <img width="1517" alt="Screen Shot 2022-06-27 at 2 00 32 PM" src="https://user-images.githubusercontent.com/197404/176034843-24ce65ae-2808-4690-80d0-fe8a7e82edfe.png"> Output of the console log looks like this: <img width="1088" alt="Screen Shot 2022-06-27 at 1 57 06 PM" src="https://user-images.githubusercontent.com/197404/176034887-17da56bd-2020-49c9-bbd8-b0ef3615309e.png"> ### LDAP Validation Since LDAP configuration is clunky and difficult and is a common source of frustration for our users, this PR throws errors on the LDAP settings page if we detect any of the most common wrong settings. While this is not a panacea, it will at least hopefully provide some more useful feedback to the user so they can see what might be wrong. Note: this happens on the LDAP settings page LOAD, not SAVE. We're not actually interfering with the user's data submission, but we're making it clear that it's unlikely to work. This does not modify the behavior of LDAP or the saved settings in any way. <img width="945" alt="Screen Shot 2022-06-30 at 3 15 30 PM" src="https://user-images.githubusercontent.com/197404/176788020-67a6279a-2fe1-422f-a0d3-97a44f3a08fd.png"> ### Email User a List of Items Checked Out We've also introduced a new feature that allows you to send a user a copy of all of the assets, licenses, etc from the user's profile page. <img width="180" alt="View_User_Snipe_E__Head____Snipe-IT_Demo_Test" src="https://user-images.githubusercontent.com/197404/176803344-9daa68dd-545b-42b5-a686-804a9e727336.png"> ### Personal API Token Console Command We've added the ability to generate API tokens via a new console command: ``` php artisan snipeit:make-api-key --help php artisan snipeit:make-api-key --user_id=1 --key-only php artisan snipeit:make-api-key --user_id=1 php artisan snipeit:make-api-key --user_id=1 > api.txt ``` <img width="1242" alt="Screen Shot 2022-06-28 at 10 27 26 PM" src="https://user-images.githubusercontent.com/197404/176358463-4aafe5b7-32a3-4a25-a1ea-f86b16b7a5a6.png"> ## Potentially Confusing / Breaking Changes ### Purging data and backup deletion must now be enabled in the `.env` file* This is just an additional security measure put in place so that a bad actor within an organization can no longer delete backups or purge deleted data. It defaults to DISABLED, so if you don't see your backup delete icons or your purge isn't working, be sure to enable it using the new `ALLOW_BACKUP_DELETE` and `ALLOW_DATA_PURGE` environmental variables. (You'll have to add those to your `.env` if this is an upgrade.) We recommend keeping this disabled until you actually have to perform those tasks, and then disabling it once you're done. You can [read more about that here](https://github.com/snipe/snipe-it/pull/11388). ### Fixed a bug in Depreciation math Back in February, we introduced a bug that made the calculation of depreciated values to be a little... well, wonky. We've reverted that change and Depreciation calculations should be working again. ### New disclosure arrows on Asset Create/Edit and User Create/Edit We think this is a cool feature, but it could be confusing at first. We now have disclosure arrows for the *optional* sections of user and asset creation, which should keep the screen less cluttered for people who don't use all of the optional fields. Once you expand the arrows, that state will be remembered via browser cookie. https://user-images.githubusercontent.com/197404/176004045-ff9c68fe-0ff9-4c5d-a5aa-cad40de8ddb7.mov ### Updated Assets Counts If you do NOT have the 'Show archived assets in the "all assets" listing' option checked in Admin Settings > General Settings, your dashboard count totals and totals on your tabbed interfaces will have changed to only include non-archived assets. ## What's Changed in v6.0.6 * Added missing postal code from user view by @snipe in https://github.com/snipe/snipe-it/pull/11365 * Fixed non-dark mode black theme by @Godmartinz in https://github.com/snipe/snipe-it/pull/11323 * Updated/upgraded JS assets by @snipe in https://github.com/snipe/snipe-it/pull/11367 * Fixed #11378 - Added better excel export by @snipe in https://github.com/snipe/snipe-it/pull/11380 * Fixed check for archived setting on counts by @snipe in https://github.com/snipe/snipe-it/pull/11382 * Fixed missing `archived` tooltip by @snipe in https://github.com/snipe/snipe-it/pull/11384 * Small fixes to default blue by @snipe in https://github.com/snipe/snipe-it/pull/11386 * Added eula blade for licenses/consumables/components and fixes `assigned_to` for PDFs by @Godmartinz in https://github.com/snipe/snipe-it/pull/11379 * Fixed dropdown column select font color in bootstrap tables by @Godmartinz in https://github.com/snipe/snipe-it/pull/11375 * Added `created_by` to users by @snipe in https://github.com/snipe/snipe-it/pull/11383 * Moved the settings search box higher by @snipe in https://github.com/snipe/snipe-it/pull/11387 * Typo of 'general' was in the migration blade a few places by @uberbrady in https://github.com/snipe/snipe-it/pull/11389 * Disallow purge backup deletion by default and, enable via `.env` by @snipe in https://github.com/snipe/snipe-it/pull/11388 * Upgrade webpack from 5.72.1 to 5.73.0 by @snipe in https://github.com/snipe/snipe-it/pull/11391 * Upgraded guzzle to 7.4.5 by @snipe in https://github.com/snipe/snipe-it/pull/11392 * Adds validation to custom fields' default values by @inietov in https://github.com/snipe/snipe-it/pull/11370 * Fixed #8155 - added disclosure arrows to asset creation/edit by @veenone in https://github.com/snipe/snipe-it/pull/10967 * Remember the state of the disclosure arrows in Assets by @uberbrady in https://github.com/snipe/snipe-it/pull/11403 * Added disclosure arrows for lesser used options on user screen by @snipe in https://github.com/snipe/snipe-it/pull/11407 * Only care about the custom field's converted name when updating the custom field itself by @snipe in https://github.com/snipe/snipe-it/pull/11405 * Fixed custom field transliteration by @snipe in https://github.com/snipe/snipe-it/pull/11404 * Add a new `--filter` option to Artisan ldap-sync command by @uberbrady in https://github.com/snipe/snipe-it/pull/11408 * Add index across `username` and `deleted_at` to improve performance by @uberbrady in https://github.com/snipe/snipe-it/pull/11413 * Fixed #9757 - Added model uploads by @snipe in https://github.com/snipe/snipe-it/pull/11412 * Added additional search filters for location API by @snipe in https://github.com/snipe/snipe-it/pull/11414 * Added additional filters for api indexes by @snipe in https://github.com/snipe/snipe-it/pull/11415 * Added personal access endpoint to API and API token console command by @snipe in https://github.com/snipe/snipe-it/pull/11416 * Added backup download via API by @snipe in https://github.com/snipe/snipe-it/pull/11418 * Fixes BadMethodCallException Call to undefined method App\Models\Asset::unaccepted() for master [ch-17636] by @inietov in https://github.com/snipe/snipe-it/pull/10758 * Fixed #9813: Duplicate function accept-asset by @dampfklon in https://github.com/snipe/snipe-it/pull/9822 * Added `checkoutByTag` API endpoint for assets by @ntbutler-nbcs in https://github.com/snipe/snipe-it/pull/11417 * Make SCIM be more tolerant of missing fields by @uberbrady in https://github.com/snipe/snipe-it/pull/11430 * Added button to email user list of assets from profile by @Godmartinz in https://github.com/snipe/snipe-it/pull/11427 * Added warnings for common LDAP misconfigs by @snipe in https://github.com/snipe/snipe-it/pull/11435 ## New Contributors * @ntbutler-nbcs made their first contribution in https://github.com/snipe/snipe-it/pull/11417 * @naveensrinivasan made their first contribution in https://github.com/snipe/snipe-it/pull/11436 **Full Changelog**: https://github.com/snipe/snipe-it/compare/v6.0.5...v6.0.6