Releases: snipe/snipe-it
v7.0.13
Caution
Snipe-IT now requires PHP 8.1.2 or greater
Happy Wednesday, everyone! We're pleased to announce Snipe-IT v7.13 is out. The most notable fix in this release is for folks who suddenly couldn't create asset models with the same name but different model number. That was a temporary issue in validation and should be fixed now.
We've also added the long-requested ability to sort numerically on numeric custom fields. (Folks who are not using MySQL/MariaDB, please let us know if this breaks stuff for you, even though we don't officially support non-MySQL databases.)
We've also added a new bulk option for users, which is the ability to print all items associated with multiple selected users, if that's the sort of thing you're likely to do.
And finally, on most list views, you can now see (and sort by) which administrator created the item.
Warning
API Change
We've added a created_by
field to additional endpoints. This field replaces the previous user_id
API object, which was only being returned in a few places. The user_id
object will still be returned as normal, but you should plan on making that switch in your API integrations moving forward, as it will eventually be removed.
What's Changed
- Fixed a couple bugs in
CustomFieldSetDefaultValuesForModel
component by @marcusmoore in #15486 - Warn user on changing status to
undeployable
when editing by @snipe in #15492 - Fixed #15504 - allow nulling/not changing locale in user bulk edit by @snipe in #15510
- Fixed misalignment of consumables with smaller media by @Godmartinz in #15493
- Fixes margin for the sidebar menus while using rtl languages by @Godmartinz in #15471
- Fixed check for outside assets on user update validation by @snipe in #15516
- Improved multi-asset create when using numeric prefixes to asset_tags by @uberbrady in #15491
- Fixed selected-index of countries drop-down [fd-44144] by @uberbrady in #15521
- Added tests for delete methods in api by @marcusmoore in #15512
- Fixed mail notification field
status label
not updating by @Godmartinz in #15531 - Fixed #11634 - Sort by numeric columns for numeric custom fields by @snipe in #15518
- Added #15506: Explicitly request used LDAP attributes by @setpill in #15507
- Updated EOL date when used bulk update of purchase date by @Robert-Azelis in #14671
- Added date range for EOL in custom reports by @akemidx in #13291
- Catch Exceptions on Checkout Notification by @spencerrlongg in #15532
- Change
user_id
tocreated_by
by @snipe in #15519 - Updated jspdf autotable by @snipe in #15537
- Fixed app settings view on mobile by @snipe in #15544
- Fixes #15548 - unify audit api endpoints by @snipe in #15549
- Fixed input field misalignments by @Godmartinz in #15552
- Fixed case on
$logAction
for user file upload by @snipe in #15555 - Changed
action_date
tocreated_at
in activity report by @snipe in #15561 - Fixed #13396 - do not allow checkout to undeployable status types by @snipe in #15547
- Added the ability to bulk print users by @marcusmoore in #15534
- Update for #15534 - Refined gates on user bulk by @snipe in #15563
- Refactoring modals with partials and fixing misalignments by @Godmartinz in #15498
- Fixes for requiredness indicator in UI by @snipe in #15573
- Fixed double webhook notifications // Separated email and webhook notifications. by @Godmartinz in #15524
- Removed sortablity for current value column in depreciations report by @Godmartinz in #15583
- Better debugging output for new Github Stale Action by @uberbrady in #15564
- Added maxlengths to additional fields by @snipe in #15588
- Adds checkin action log on asset delete via View UI by @snipe in #15589
- Catch Errors Around Request Notifications by @spencerrlongg in #15592
- Updated strings by @snipe in #15594
- Fixed divide by zero bug in depreciation transformer by @Godmartinz in #15593
Full Changelog: v7.0.12...v7.0.13
v7.0.12
What's Changed
- Added confetti option by @snipe in #15304
- Updated translation strings by @snipe in #15305
- Added #15312: Add checkin due in days setting by @Glukose1 in #15314
- Added support for Docker secrets in Standard and alpine image. by @r-xyz in #15282
- Fixed dashboard box overflow by @Godmartinz in #15206
- Corrected some translations by @snipe in #15318
- Importer model fixes by @snipe in #15322
- Prevent passing an array as login by @snipe in #15324
- Fixed
)
being added to expected asset checkin report email header by @marcusmoore in #15336 - Improved handling attempted access of deleted files in importer by @marcusmoore in #15112
- Update icons to use blade components, standardize button colors and format by @snipe in #15327
- [Snyk] Upgrade bootstrap-table from 1.23.0 to 1.23.2 by @snipe in #15342
- Added TrimStrings middleware by @snipe in #15345
- Fixed icon not rotated and simplified component by @marcusmoore in #15350
- Updated languages by @snipe in #15351
- Fixed #15341 - validate parent ID by @snipe in #15356
- Fixed #15330 - Cleaned up category title by @snipe in #15357
- Fixed #15190 - Improvements to upgrade.php script to improve Windows experience by @uberbrady in #15359
- Renamed docker startup scripts coherently. by @r-xyz in #15358
- Added #9413: AssetModel files endpoints to API by @r-xyz in #15362
- Fixed #15344 - make select2 for countries freeform-ish by @snipe in #15367
- More print fixes for asset view by @snipe in #15360
- Fixed Mobile misalignment of info on Assets and Users view pages by @Godmartinz in #15352
- Expose the 'sanitize' system for backup restores to the web GUI by @uberbrady in #15296
- Fixed checkbox layout on modal from #15296 by @snipe in #15369
- Re-add stalebot-esque github Action by @uberbrady in #15156
- Adds
snipeit:remove-explicit-eols
command by @Godmartinz in #15065 - Adds location select to the create new user via asset checkout by @Godmartinz in #14667
- Fixed #15371: docker-compose files updated. by @StarlessNights in #15372
- Fixed #15366 use the non-admin edit encrypted custom fields permissions by @snipe in #15373
- Fixed #15374: load TrustProxies middleware in Kernel.php by @setpill in #15379
- Fixed custom field defaults being prematurely updated by @marcusmoore in #15377
- Added pull-right to angle bracket by @snipe in #15380
- Fixes the
acceptance-reminder
command by @Godmartinz in #15375 - Fixed #15378 - Corrected gate on checkin button on asset view by @snipe in #15383
- Fixed #15388 - Moved generate label button by @snipe in #15389
- Added
start_date
andend_date
to user bulk edit by @snipe in #15396 - Opens label new window by @snipe in #15401
- Fixed #15392 - filter by depreciation when showing models by @snipe in #15403
- Set image to null if model is deleted by @snipe in #15404
- Check that the user exists before trying to print by @snipe in #15408
- Corrected language string by @snipe in #15409
- Updated jquery UI by @snipe in #15410
- Upgraded webpack by @snipe in #15411
- [Multi-Company] Fixes Users Being Moved With Items Still Assigned by @spencerrlongg in #15284
- Fix [FD-43836] PATCH of purchase_cost for assets for comma as decimal separator by @uberbrady in #15412
- Use the null-safe property accessor for new-user creation by @uberbrady in #15414
- Fixed #15416 - Added multiple selects for custom report by @snipe in #15418
- Validation rules to prevent switching user companies if items are assigned to them by @snipe in #15415
- Added employee number to asset view by @snipe in #15431
- Fixed #15435 - user api put patch API route regression by @snipe in #15440
- Added ability to sort on qty and remaining for consumables by @snipe in #15463
- Correctly save user’s city on bulk edit by @snipe in #15465
- Added coverage commands for Herd users by @marcusmoore in #15468
- Fixed login success message not being displayed by @marcusmoore in #15474
- Added some permission tests for accessory api endpoints by @marcusmoore in #15473
- Added test for dashboard counts by @marcusmoore in #15472
- Added UI tests for creating companies by @marcusmoore in #15470
- Added UI tests for creating accessories by @marcusmoore in #15469
- Fixed priority for category eula vs default eula by @Godmartinz in #15445
- Updated translations by @snipe in #15481
New Contributors
Full Changelog: v7.0.11...v7.0.12
v7.0.11
Caution
Snipe-IT now requires PHP 8.1.2 or greater
Happy Thursday everyone! This release comes with a bunch of small UX/UI improvements, and a few additional features, including the ability to optionally update the asset's status on quick scan checkin.
We've also added the ability to play sounds on the "quick" bulk tasks like auditing for better accessibility. (You will have to enable this in your profile.)
We've also added a command-line utility that can help some folks who may have used the API to checkout assets without specifying an assigned_type
, and could get a 500 error when trying to view those assets. (We have since improved the API validation to require the assigned_type
, but older assets created via API could have had this issue.) See the docs on that utility here.
Up next, the ability to checkout accessories to assets and locations. The functionality has been built, but there are some safeguards we still have to put in to make sure you cannot delete locations or assets that still have accessories associated with them. We have a PR up for that and are working on it.
What's Changed
- Fixed 1d barcode targeting by @Godmartinz in #15188
- Check that custom fields exist before saving by @spencerrlongg in #14565
- Fixed translation Issue With Auth by @spencerrlongg in #15194
- Fixed admin boxes alignment by @Godmartinz in #15193
- Added user storage files to purge command by @Godmartinz in #15145
- Added closing brackets to signature pad by @Godmartinz in #15199
- Fixed put route by @snipe in #15204
- Fixed #15205 - adds copy to asset tag by @snipe in #15211
- Feature: Extend search capabilities to other assets attributes by @FlorentDotMe in #15217
- Fixed handful of test namespaces by @marcusmoore in #15230
- Disallowed checking out components to different companies and fixed number remaining counts by @marcusmoore in #15229
- Fixed shortcuts to be optional now by @Godmartinz in #15242
- Fixes #10560 - optional ability to play sound on audit by @snipe in #15244
- Fixed Issue with Acceptances Being Created by @spencerrlongg in #15245
- Updated PHPUnit to v10 by @marcusmoore in #15232
- Fixed accessories and consumables not being logged correctly during bulk check-in by @marcusmoore in #15221
- [Snyk] Upgrade @fortawesome/fontawesome-free from 6.5.2 to 6.6.0 by @snipe in #15261
- Upgrade jquery-validation from 1.20.1 to 1.21.0 by @snipe in #15262
- Fixed #15248 Removed pound symbol from order number on asset view by @snipe in #15263
- Fixed #15252 - admin ordering on activity report by @snipe in #15264
- Added Depreciation Percentage as an option by @Godmartinz in #15100
- Fixes ##15236 - smaller email logo by @snipe in #15269
- Checkout-to fixer by @uberbrady in #15266
- Fixed #15247 - make pie chart on dashboard respect the “show archived… by @snipe in #15270
- Added reporting-only access for selectlists by @snipe in #15272
- Added tooltips to top nav shortcuts by @snipe in #15275
- Add
MayContainCustomFields
Trait to Asset Update Request by @spencerrlongg in #15198 - Bold selected tab for better readability by @snipe in #15276
- Fixed #14821 - Hide UI elements from print view on assets by @snipe in #15278
- Fixed: [sc-26355] Attempt to de-escalate SAML login and logout errors by @uberbrady in #15277
- Fix: add missing admin/hardware/table.name key by @FlorentDotMe in #15279
- Fixed select2 “x” color on multi-select and border color by @snipe in #15280
- Added status labels to confirmation emails by @Godmartinz in #15192
- Implemented artisan test case by @marcusmoore in #15286
- Fixed component check in test by @marcusmoore in #15290
- Added asset name to bulk asset edit by @snipe in #15291
- Updated phpinsights by @snipe in #15292
- Fixed #15301 - Added optional status to quickscan checkin by @snipe in #15303
New Contributors
- @arne-kroeger made their first contribution in #15185
Full Changelog: v7.0.10...v7.0.11
v7.0.10
Caution
Snipe-IT now requires PHP 8.1.2 or greater
Hey everyone!
While this is just a point release, we're really excited for this one. We've a bunch of small bug fixes, but also added some UX sugar that we think will make everyone's workflows a little bit easier. You can now decide where you want to go after creating, editing, or checking in/out a first class object (Assets, Accessories, Licenses, Users, etc). You can also now check out more than one accessory at a time, if that's a thing that comes up in your workflow.
Also: If your table listings text ("Showing x of y pages") defaulted to Chinese, this release handles that (via #15133).
We've been doing a ton of under the hood stuff that won't seem very obvious as users, but it puts us in a much better position to move more quickly on a lot of things.
Another important technical note: this release mitigates a difficult to exploit but possible attack. If someone had access to your APP_KEY
, it was possible to perform an RCE attack. We mitigated this by disabling cookie serialization, but I'd still argue that if someone has your APP_KEY
, you're going to have a bad time in a bunch of other ways, so this is just a gentle reminder than your APP_KEY should never, ever be shared with anyone, for any reason, and you should never use the default APP_KEY
values we have in some of our example env files. If you have encrypted custom fields and need to roll your APP_KEY
because you feel it could have been compromised, we have a cli utility to handle that.
Next up: Custom fields for users, and the ability to check out accessories to assets and locations.
What's Changed
- Adds a command to resend acceptance emails by @Godmartinz in #14722
- Allow setting a prefix for Livewire's update and asset urls by @marcusmoore in #15073
- Fixed #10224: fix route names for optimize command by @dbakan in #15082
- Fixed #15094 - wrong translation string for model on checkout by @snipe in #15099
- Small layout tweaks to oauth page by @snipe in #15085
- Fixed #15067 - updated ldap sync locale to use
app()->getLocale()
by @snipe in #15084 - Fixed: Missing Translation on a Tooltip by @akemidx in #15075
- Added EULAs in print user's assets by @mauro-miatello in #15088
- Checkout multiple of an accessory in one checkout by @snipe in #15114
- Improved Docker environment settings: implement
PHP_UPLOAD_LIMIT
for Alpine images by @r-xyz in #15115 - Fixed a coupled test namespaces by @marcusmoore in #15110
- More localizations by @snipe in #15101
- Updated language strings by @snipe in #15120
- Added #14426: Makes all Manufacturer links dynamic, not just warranty lookup by @DrekiDegga in #14530
- Fixed #15121 - bulk delete restore logging by @snipe in #15122
- Added tests for bulk asset deletion and restore by @snipe in #15123
- Fixed use statement for Crypt in the importer, removed unused statements by @snipe in #15124
- Show existing images on user edit page by @snipe in #15125
- Fixes #15076 - Removes ability to remove the default avatar from disk by @snipe in #15127
- Nicer consumables layout by @snipe in #15128
- Hides the “Disable Other Login Mechanisms” if remote user option isn't checked by @snipe in #15132
- Load the english file again in case BS table doesn’t have a translation by @snipe in #15133
- [Snyk] Upgrade bootstrap-table from 1.22.5 to 1.23.0 #15131 by @snipe in #15134
- Updated translations by @snipe in #15144
- Switch to nb-NO from no-NO for Norwegian by @snipe in #15143
- Fix setup ssl check by @uberbrady in #15147
- Add Form Request and Tests for Update Asset API Method by @spencerrlongg in #14458
- Remove cookie serialization by @snipe in #15136
- Fixed start_date and end_date in user importer by @marcusmoore in #15148
- Fixed: Requiredness Check Bug by @spencerrlongg in #15149
- Fixed env var for backup config - related to #14964 by @snipe in #15153
- Fixes #15103 - Added EOL and audit into to user profile assets by @snipe in #15154
- Switch dockerfile to using php8.2 instead of 8.1 due to Alpine changes by @uberbrady in #15155
- [Snyk] Security upgrade alpine from 3.18.6 to 3.19 by @snipe in #15151
- Cleaned up UI on asset view by @snipe in #15158
- Allow cloning of deleted assets by @snipe in #15160
- Fixes 500 when depreciation is active but no purchase date by @snipe in #15161
- Added assets endpoint for locations by @snipe in #15162
- Registered custom anonymous blade component directory by @marcusmoore in #15150
- Improve restore sanitization - Fixes [sc-24840] by @uberbrady in #15168
- Create intermediate directories on restore if needed - Fixes [SC-25950] by @uberbrady in #15169
- Use blade component for submit redirect on asset edit/create by @snipe in #15172
- Dynamically iterate through the skin listing to build skins by @uberbrady in #15170
- Use the
pwd_secure_min
value (plus 5) for generated password by @snipe in #15187
New Contributors
- @dbakan made their first contribution in #15082
- @r-xyz made their first contribution in #15115
- @DrekiDegga made their first contribution in #14530
Full Changelog: v7.0.9...v7.0.10
v7.0.9
Caution
Snipe-IT now requires PHP 8.1.2 or greater
Another small patch release which largely handles missing translations and the some refinements on the upgrade.php
script to make upgrading a little smoother, and added a boatload more automated tests. We also tightened up some queries on the consumables side, so hopefully those with much larger data sets for consumables will notice speedier load times there.
Additionally, we identified and fixed an issue where in some circumstances, custom field data could be lost when auditing an asset, and we also added better history tracking for consumables.
What's Changed
- General cleanup - Docblock fixes, adding type hinting, added tests, added asset model form validator by @snipe in #15029
- Fixed API key missing translations by @snipe in #15055
- Fixed missing print user assigned filter by @Godmartinz in #15059
- Fixes Potential Exception by @spencerrlongg in #15057
upgrade.php
: More helpful output when we can't read.upgrade_requirements.json
by @jerm in #15051upgrade.php
: If we're on windows, make sure we can load intermediate certificates by @jerm in #15052- Small consumables optimizations by @snipe in #15071
- Fixed inconsistent attributes order in Print All Assigned report by @FlorentDotMe in #15069
New Contributors
- @FlorentDotMe made their first contribution in #15069
Full Changelog: v7.0.8...v7.0.9
v7.0.8
Caution
Snipe-IT now requires PHP 8.1.2 or greater
Happy Monday, nerds! This release fixes some missing translations, adds some improvements for merging users, fixes a bug where custom field data could be lost when auditing under certain conditions, and also adds some query optimizations for speed. Enjoy!
What's Changed
- Added missing translations by @snipe in #15010
- Removed non-counts from allowed array by @snipe in #15021
- Resolved Potential Issue when Deleting Personal Access Tokens by @spencerrlongg in #15022
- Fixed #15005 - Improvements on user merge by @snipe in #15016
- Added files column to bulk user delete, optimized queries by @snipe in #15023
- Upgrade webpack from 5.91.0 to 5.92.0 #15008 by @snipe in #15025
- Added #15015 - ability for admins to select default avatar by @snipe in #15027
- Fixed #15037 - Removed custom fieldsets on auditing - it’s not used (yet) by @snipe in #15043
- Snyk - Updated jquery validation by @snipe in #15045
- Added localization for bootstrap-tables by @snipe in #15046
Full Changelog: v7.0.7...v7.0.8
v7.0.7
Caution
Snipe-IT now requires PHP 8.1.2 or greater
Happy Tuesday! This point release handles the unusual (but possible) use-case where the language in APP_LOCALE
had not been updated correctly to use the four/five letter ISO code and was still using the two-letter code, so users might have seen issues with translation strings related to FALLBACK_APP_LOCALE
. This also fixes the upgrade script where the requirements checks would fail if you did not have gd installed, but you do have Imagemagick installed. Plus, a new label template for endless 62mm Brother printer rolls!
What's Changed
- Updated Livewire to v3 by @marcusmoore in #14831
- Check that the user exists before trying to fill the request by @snipe in #14982
- Fixed #14976, #14975, #14973 - Translation strings aren't always working by @uberbrady in #14981
- Removed "Edit Your Profile" button from View Assets page if user is not able to edit their profile by @marcusmoore in #14999
- Added links on user table to tabs on show user page by @marcusmoore in #15001
- Fixed extension requirement checking in upgrade script by @marcusmoore in #14986
- Use more modern reference for input text by @snipe in #14983
- Add Label Template: Use with endless 62mm Brother printer rolls by @Galaxy102 in #14870
New Contributors
- @Galaxy102 made their first contribution in #14870
Full Changelog: v7.0.6...v7.0.7
v7.0.6
Caution
Snipe-IT now requires PHP 8.1.2 or greater
This is a small point release that should handle a few translation issues as well as fixing some configuration issues for docker users and users behind a reverse proxy server using SAML.
What's Changed
- Added avif to translation string by @snipe in #14963
- Fixes #14968 - translate forbidden page by @snipe in #14971
- Fixed importer table background color by @Godmartinz in #14966
- Fixed #14895 and #14919 - set SAML
baseurl
to a sensible default for docker users and users behind a reverse proxy by @uberbrady in #14974
Full Changelog: v7.0.5...v7.0.6
v7.0.5
Caution
Snipe-IT now requires PHP 8.1.2 or greater
This release largely handles some translation issues (especially related to backup notification emails), a few small importer issues related to date importing, and a bunch of additional automated tests. We also added the feature of being able to disallow your users to edit their profiles at all (via Admin > General Settings
), and fixed an issue around the ability to delete users.
What's Changed
- Fixed importer audit date validation issue by @snipe in #14908
- Fixed backup notification translations by @snipe in #14920
- Added
lastname.firstname
as email format by @snipe in #14921 - Add storage path permissions test by @bryanlopezinc in #14912
- Added some style changes in label field selector for the
DefaultLabel
template by @Godmartinz in #14791 - Fixed incorrect translation path for edit profile confirmation message by @snipe in #14922
- Updated language strings by @snipe in #14923
- Fixed small deprecation warnings for PHP8.2 by @snipe in #14932
- Possible fix for #14915 - error on import when status label is not provided and no deployable statuses can be found by @snipe in #14924
- Added php 8.3 test by @snipe in #14934
- Fixed #14935 - improvements and more tests around user deletion by @snipe in #14937
- Updated PHPunit by @snipe in #14941
- Check that there is a depreciation date before formatting by @snipe in #14949
- Bump docker/build-push-action from 5 to 6 by @dependabot in #14947
- Updated translations by @snipe in #14950
- Additional translation strings by @snipe in #14925
- Added ability to disallow profile editing by @snipe in #14951
Full Changelog: v7.0.4...v7.0.5
v7.0.4
Caution
Snipe-IT now requires PHP 8.1 or greater
This release just addresses some small issues for folks behind reverse proxies and fixes a few small bits for folks on PHP 8.1.x that would have only have had issues if they pulled from master within the past 24 hours.
What's Changed
- Prefaced fields with “users” for clarity by @snipe in #14893
- Fixed #14882 - Properly scope archived based on settings by @snipe in #14894
- Fixed #14898 - (regression) Reverted debugbar back into require vs require-dev by @snipe in #14899
- Fixed unable to install on PHP 8.1 by @marcusmoore in #14900
- Possible fix for proxy/reverse proxy by @snipe in #14896
Full Changelog: v7.0.3...v7.0.4