New major version of GLPI : 9.4.0

Posted on Sun 17 February 2019 in GLPI

The new major version of GLPI has been released few days ago : the version 9.4.0.

This is the list of new features / modifications

Search engine

  • modification of the search engine, add groups in the search to use better AND and OR
  • add search engine in the menu Setup > plugins
  • add a new action: not contains


  • add a change, a problem from a device (a dedicated tab for each)
  • automatic unit for display hard disk size
  • add a new field (search / column) for number of processors


  • remove old tabs management (followup, task, solution) to keep only timeline in the tickets
  • add search field last solution status (accepted, refused, waiting for approval)
  • redirect on satisfaction page after approved the solution
  • add field observer in the group configuration
  • in template, hide SLA now works too when a SLA is defined in the ticket
  • add the timeline in changes and problems


  • add devices rules
  • add possibility to select major priority in criteria of ticket rules
  • add a criterium to search on the complete name of a multi-level category in ticket rules


  • add border of the table in contrasted mode
  • new article navigation view
  • counter
  • javascript vies (jstree)
  • distinction between non published articles and FAQ articles
  • new icons in articles list


  • now can link ITIL items to a project in a tab (ticket, change, problem)
  • add a field total cost in the search


  • add field default group in user form
  • add field responsible


  • add possibility to get folders of a boxmail and propose to choose which we want to archive accepted / refused mails
  • can specify if the requester is in Reply-To if available, else get in From


  • add an option display authentication sources in login page (local, LDAP xxx, LDAP yyy)
  • delete configuration field use rich text because it's activated by default
  • paste an image in web editor at the cursor position + add loading bar
  • display user in reservation items
  • in the profil add possibility to lock user preferences
  • add datacenter items in fields unicity
  • for LDAP connections, try find login+auth_id before find with dn
  • the planned task close ticket use now the opened hours of the calendar


  • delete test of database crashed tables because lock tables in central.php page and in status.php page
  • get the mime type directly in the file when add a new document (need PHP module fileinfo)
  • enhance page displayed speed
  • update cache usage
  • cache is managed in file system or memory
  • usage of the cache for plugin list instead in sessions
  • usage of cache for glpi_table_of
  • usage of cache for glpi_foreign_key_field_of
  • usage of cache for glpi_foreign_key_field_of
  • usage of cache for glpi_all_possible_rights
  • usage of cache for glpi_item_device_affinities


  • new tab list the notifications that use this model


  • update the database prerequisites, so MariaDB >= 10.0 or MySQL >= 5.6


centralization of CLI commands in unique command bin/console with the arguments:

  • glpi:build:compile_scss : compile scss files
  • glpi:database:check : check database structure based in installation files
  • glpi:database:install : install GLPI
  • glpi:database:update : update GLPI
  • glpi:ldap:synchronize_users : synchronization of users on LDAP
  • glpi:migration:myisam_to_innodb : migration of databases tables from MyISAM to InnoDB
  • glpi:task:unlock : unlock automatic tasks

Code / developer modifications

  • delete all function tagged deprecated in GLPI 9.2
  • delete all function tagged deprecated in GLPI 9.3
  • enhance iterator (databases queries)
  • add transactions support in the database
  • usage of Font Awesome version 5.4.1 (instead of 4.7.0), so many more icons availables
  • many API enhancements
  • delete usage of variable SESSION['glpi_plugins']
  • usage of PSR-16 instead specific Zen (PSR-16: Common Interface for Caching Libraries)
  • display cache entries in debug panel
  • add new hook add_recipient_to_target. Can be used when add a new receipient to a notification