GLPI v9.4.0 Release Notes

Release Date: 2019-02-11 // about 5 years ago
  • ➕ Added

    • Ability to link project with problems and tickets.
    • Ability to specify creation and modification dates during CommonDBTM object add method
    • ➕ Add followups to Changes and Problems.
    • ➕ Add timeline to Changes and Problems.
    • CLI console to centralize CLI commands.
    • 🖨 Search on devices from Printers and Network equipments.
    • 🔀 Ability to merge and split tickets.
    • 🖨 Search on devices from Printers and Network equipments.
    • Ability to specify creation and modification dates during CommonDBTM object add method.

    🔄 Changed

    • license_id field in glpi_items_operatingsystems table has been renamed to licenseid
    • olas_tto_id field in glpi_tickets table has been renamed to olas_id_tto
    • olas_ttr_id field in glpi_tickets table has been renamed to olas_id_ttr
    • ttr_olalevels_id field in glpi_tickets table has been renamed to olalevels_id_ttr
    • slas_tto_id field in glpi_tickets table has been renamed to slas_id_tto
    • slas_ttr_id field in glpi_tickets table has been renamed to slas_id_ttr
    • ttr_slalevels_id field in glpi_tickets table has been renamed to slalevels_id_ttr
    • scripts/add_creation_date.php has been replaced by glpi:migration:build_missing_timestamps command available using bin/console
    • scripts/checkdb.php has been replaced by glpi:database:check command available using bin/console
    • scripts/cliinstall.php has been replaced by glpi:database:install command available using bin/console
    • ⚡️ scripts/cliupdate.php has been replaced by glpi:database:update command available using bin/console
    • scripts/ldap_mass_sync.php has been replaced by glpi:ldap:synchronize_users command available using bin/console
    • scripts/innodb_migration.php has been replaced by glpi:migration:myisam_to_innodb command available using bin/console
    • scripts/unlock_tasks.php has been replaced by glpi:task:unlock command available using bin/console

    API changes

    🔄 Changes

    • 🔌 Plugins are now loaded in ajax files.
    • TicketFollowup has been replaced by ITILFollowup
    • 🚚 $num parameter has been removed from several Search class methods:
      • addSelect(),
      • addOrderBy(),
      • addHaving(),
      • giveItem()
    • NotificationTarget::getMode() visibility is now public.
    • Added add_recipient_to_target hook, triggered when a recipient is added to a notification.

    🗄 Deprecated

    • Remove $CFG_GLPI['use_rich_text'] parameter. Will now be true per default.
    • Remove $CFG_GLPI['ticket_timeline'] parameter. Will now be true per default.
    • Remove $CFG_GLPI['ticket_timeline_keep_replaced_tabs'] parameter. Will now be false per default.
    • 🗄 Usage of TicketFollowup class has been deprecated.
    • 🗄 Usage of string $condition parameter in CommonDBTM::find() has been deprecated.
    • 🗄 Usage of string $condition parameter in Dropdown::addNewCondition() has been deprecated.
    • 🗄 Usage of string in $option['condition'] parameter in Dropdown::show() has been deprecated.

    🗄 The following methods have been deprecated:

    • KnowbaseItemCategory::showFirstLevel()
    • Ticket::getTicketActors()
    • Ticket::processMassiveActionsForOneItemtype()
    • Ticket::showFormMassiveAction()
    • Ticket::showMassiveActionsSubForm()
    • NotificationTarget::getProfileJoinSql()
    • NotificationTarget::getDistinctUserSql()
    • NotificationTargetCommonITILObject::getProfileJoinSql()
    • RuleCollection::getRuleListQuery()
    • getNextItem()
    • getPreviousItem()
    • CommonDBChild::getSQLRequestToSearchForItem()
    • CommonDBConnexity::getSQLRequestToSearchForItem()
    • CommonDBRelation::getSQLRequestToSearchForItem()
    • Project::addVisibility()
    • Project::addVisibilityJoins()

    ✂ Removed

    • ⬇️ Drop ability to use JOIN in DBmysqlIterator::buildQuery()
    • ⬇️ Drop NotificationTarget::datas property
    • ⬇️ Drop support of string $filter parameter in Profileuser::getUserProfiles()
    • ⬇️ Drop support of string $condition parameter in User::getFromDBbyEmail()
    • ⬇️ Drop support of string $condition parameter in Group_User::getUserGroups()
    • ⬇️ Drop support of string $condition parameter in Group_User::getGroupUsers()
    • ⬇️ Drop support of string $condition parameter in countElementsInTable (DbUtils::countElementsInTable())
    • ⬇️ Drop support of string $condition parameter in countDistinctElementsInTable (DbUtils::countDistinctElementsInTable())
    • ⬇️ Drop support of string $condition parameter in countElementsInTableForMyEntities (DbUtils::countElementsInTableForMyEntities())
    • ⬇️ Drop support of string $condition parameter in countElementsInTableForEntity (DbUtils::countElementsInTableForEntity())
    • ⬇️ Drop support of string $condition parameter in getAllDatasFromTable (DbUtils::getAllDataFromTable())
    • ⬇️ Drop ITIL Tasks, Followups and Solutions showSummary() and massive actions related methods that are replaced with timeline

    • ⬇️ Drop class alias Event for Glpi\Event

    • ⬇️ Drop Zend\Loader\SplAutoloader interface

    • ⬇️ Drop all methods that have been deprecated in GLPI 9.2

      • _e()
      • _ex()
      • FieldExists()
      • formatOutputWebLink()
      • TableExists()
      • CommonTreeDropodwn::recursiveCleanSonsAboveID()
      • DBMysql::optimize_tables()
      • NotificationTarget::addToAddressesList()
      • NotificationTarget::getAdditionalTargets()
      • NotificationTarget::getAddressesByGroup()
      • NotificationTarget::getAddressesByTarget()
      • NotificationTarget::getAdminAddress()
      • NotificationTarget::getEntityAdminAddress()
      • NotificationTarget::getItemAuthorAddress()
      • NotificationTarget::getItemGroupAddress()
      • NotificationTarget::getItemGroupSupervisorAddress()
      • NotificationTarget::getItemGroupTechInChargeAddress()
      • NotificationTarget::getItemGroupWithoutSupervisorAddress()
      • NotificationTarget::getItemOwnerAddress()
      • NotificationTarget::getItemTechnicianInChargeAddress()
      • NotificationTarget::getNotificationTargets()
      • NotificationTarget::getSpecificTargets()
      • NotificationTarget::getUserByField()
      • NotificationTarget::getUsersAddressesByProfile()
      • NotificationTargetCommonITILObject::getDatasForObject()
      • NotificationTargetCommonITILObject::getFollowupAuthor()
      • NotificationTargetCommonITILObject::getLinkedGroupByType()
      • NotificationTargetCommonITILObject::getLinkedGroupSupervisorByType()
      • NotificationTargetCommonITILObject::getLinkedGroupWithoutSupervisorByType()
      • NotificationTargetCommonITILObject::getLinkedUserByType()
      • NotificationTargetCommonITILObject::getOldAssignTechnicianAddress()
      • NotificationTargetCommonITILObject::getRecipientAddress()
      • NotificationTargetCommonITILObject::getSupplierAddress()
      • NotificationTargetCommonITILObject::getTaskAssignGroup()
      • NotificationTargetCommonITILObject::getTaskAssignUser()
      • NotificationTargetCommonITILObject::getTaskAuthor()
      • NotificationTargetCommonITILObject::getValidationApproverAddress()
      • NotificationTargetCommonITILObject::getValidationRequesterAddress()
      • NotificationTargetProjectTask::getTeamContacts()
      • NotificationTargetProjectTask::getTeamGroups()
      • NotificationTargetProjectTask::getTeamSuppliers()
      • NotificationTargetProjectTask::getTeamUsers()
      • QueuedNotification::sendMailById()
      • Ticket::convertContentForNotification()
      • User::getPersonalToken()
      • User::getUniquePersonalToken()
    • ⬇️ Drop all methods that have been deprecated in GLPI 9.3.0

      • CommonDBTM::getFromDBByQuery()
      • CommonDBTM::getSearchOptions()
      • CommonDBTM::getSearchOptionsNew()
      • CommonDBTM::getSearchOptionsToAddNew()
      • CommonITILObject::getStatusIconURL()
      • DBMysql::list_tables()
      • Dropdown::showPrivatePublicSwitch()
      • NotificationTargetProjectTask::getTeamContacts()
      • NotificationTargetProjectTask::getTeamGroups()
      • NotificationTargetProjectTask::getTeamSuppliers()
      • NotificationTargetProjectTask::getTeamUsers()
      • Search::constructDatas()
      • Search::displayDatas()
      • Transfer::transferComputerDisks()
    • ⬇️ Drop all methods that have been deprecated in GLPI 9.3.1

      • ComputerVirtualMachine::getUUIDRestrictRequest()
      • Config::getSQLMode()
      • DBMysql::checkForCrashedTables()
      • Html::checkAllAsCheckbox()
      • Html::scriptEnd()
      • Html::scriptStart()
      • Plugin::isAllPluginsCSRFCompliant()
      • Profile::getUnderActiveProfileRestrictRequest()
      • Toolbox::is_a()
    • ⬇️ Drop all constants that have been deprecated in GLPI 9.3.1

      • CommonDBTM::ERROR_FIELDSIZE_EXCEEDED
      • CommonDBTM::HAS_DUPLICATE
      • CommonDBTM::NOTHING_TO_DO
      • CommonDBTM::SUCCESS
      • CommonDBTM::TYPE_MISMATCH
    • ⬇️ Drop all methods that have been deprecated in GLPI 9.3.2

      • ITILSolution::removeForItem()
      • Session::isViewAllEntities()