GLPI v10.0.0 Release Notes

Release Date: 2022-04-20 // almost 2 years ago
  • โž• Added

    • โž• Added UUID to all other itemtypes that are related to Operating Systems (Phones, Printers, etc)
    • โž• Added a button to the General > System configuration tab to copy the system information

    ๐Ÿ”„ Changed

    • ๐Ÿ”ง APCu and WinCache are not anymore use by GLPI, use php bin/console cache:configure command to configure cache system.
    • PDF export library has been changed from TCPDF to mPDF.
    • ๐Ÿ‘ The search engine and search results page now support sorting by multiple fields.
    • โšก๏ธ The search result lists now refresh/update without triggering a full page reload.
    • Replaced user-facing cases of master/slave usage replaced with main/replica.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ Usage of XML-RPC API is deprecated.
    • ๐Ÿ—„ The database "slaves" property in the status checker (/status.php and glpi:system:status) is deprecated. Use "replicas" instead,
    • ๐Ÿ—„ The database "master" property in the status checker (/status.php and glpi:system:status) is deprecated. Use "main" instead,

    โœ‚ Removed

    • Autocomplete feature on text fields.
    • Usage of alternative DB connection encoding (DB::$dbenc property).
    • Deprecated scripts/ldap_mass_sync.php has been removed in favor of glpi:ldap:synchronize_users command available using bin/console
    • ๐Ÿšš Deprecated scripts/compute_dictionary.php has been removed in favor of glpi:rules:replay_dictionnary_rules command available using bin/console
    • Deprecated scripts/softcat_mass_compute.php has been removed in favor of glpi:rules:process_software_category_rules command available using bin/console

    API changes

    โž• Added

    • โž• Added DBMysql::setSavepoint() to create savepoints within a transaction.
    • โž• Added CommonDBTM::showForm() to have a generic showForm for asset (based on a twig template).

    ๐Ÿ”„ Changes

    • โš  MySQL warnings are now logged in SQL errors log.
    • โฌ†๏ธ Guzzle library has been upgraded to version 7.4.
    • โฌ†๏ธ Symfony\Console library has been upgraded to version 5.4.
    • CommonGLPI constructor signature has been declared in an interface (CommonGLPIInterface).
    • ๐Ÿ›  DBmysqlIterator class compliancy with Iterator has been fixed (i.e. DBmysqlIterator::next() does not return current row anymore).
    • Domain class inheritance changed from CommonDropdown to CommonDBTM.
    • showForm() method of all classes inheriting CommonDBTM have been changed to match CommonDBTM::showForm() signature.
    • Format of Message-Id header sent in Tickets notifications changed to match format used by other items.
    • โž• Added DB::truncate() to replace raw SQL queries
    • Impact context positions field type changed from TEXT to MEDIUMTEXT
    • Field date of KnowbaseItem has been renamed to date_creation.
    • Field date_creation of KnowbaseItem_Revision has been renamed to date.
    • Field date_creation of NetworkPortConnectionLog has been renamed to date.
    • Field date of Notepad has been renamed to date_creation.
    • Field date_mod of ObjectLock has been renamed to date.
    • Field date of ProjectTask has been renamed to date_creation.
    • Table glpi_netpoints has been renamed to glpi_sockets.
    • ๐Ÿ‘ฎ GLPI_FORCE_EMPTY_SQL_MODE constant has been removed in favor of GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE usage.
    • ๐Ÿšš CommonDBTM::clone(), CommonDBTM::prepareInputForClone() and CommonDBTM::post_clone() has been removed. Clonable objects must now use Glpi\Features\Clonable trait.
    • CommonDBTM::notificationqueueonaction property has been removed in favor of CommonDBTM::deduplicate_queued_notifications property.
    • CommonDropdown::displaySpecificTypeField() has a new $options parameter.
    • โช DBMysql::rollBack supports a name parameter for rolling back to a savepoint.
    • Knowbase::getJstreeCategoryList() as been replaced by Knowbase::getTreeCategoryList().
    • NetworkPortInstantiation::showNetpointField() has been renamed to NetworkPortInstantiation::showSocketField().
    • NotificationSettingConfig::showForm() renamed to NotificationSettingConfig::showConfigForm().
    • RuleMatchedLog::showForm() renamed to RuleMatchedLog::showItemForm().
    • Search::addOrderBy() signature changed.
    • TicketSatisfaction::showForm() renamed to TicketSatisfaction::showSatisfactionForm().
    • Transfer::transferDropdownNetpoint() has been renamed to Transfer::transferDropdownSocket().

    ๐Ÿ—„ Deprecated

    • Usage of MyISAM engine in database, in favor of InnoDB engine.
    • Usage of utf8mb3 charset/collation in database in favor of utf8mb4 charset/collation.
    • Usage of datetime field type in database, in favor of timestamp field type.
    • Handling of encoded/escaped value in autoName()
    • ๐Ÿ—„ Netpoint has been deprecated and replaced by Socket
    • CommonDropdown::displayHeader(), use CommonDropdown::displayCentralHeader() instead and make sure to override properly first_level_menu, second_level_menu and third_level_menu.
    • GLPI::getLogLevel()
    • Html::clean()
    • MailCollector::listEncodings()
    • ๐Ÿ’ป RuleImportComputer class
    • ๐Ÿ’ป RuleImportComputerCollection class
    • SLM::setTicketCalendar()
    • Toolbox::clean_cross_side_scripting_deep()
    • Toolbox::endsWith()
    • Toolbox::filesizeDirectory()
    • Toolbox::getHtmlToDisplay()
    • Toolbox::logError()
    • Toolbox::logNotice()
    • โš  Toolbox::logWarning()
    • Toolbox::sodiumDecrypt()
    • Toolbox::sodiumEncrypt()
    • Toolbox::startsWith()
    • Toolbox::unclean_cross_side_scripting_deep()

    โœ‚ Removed

    • ๐Ÿšš jQueryUI has been removed in favor of twbs/bootstrap. This implies removal of following widgets: $.accordion, $.autocomplete, $.button, $.dialog, $.draggable, $.droppable, $.progressbar, $.resizable, $.selectable, $.sortable, $.tabs, $.tooltip.
    • Usage of $order parameter in getAllDataFromTable() (DbUtils::getAllDataFromTable())
    • Usage of table parameter in requests made to ajax/comments.php
    • ๐Ÿ‘ฎ Usage of GLPI_FORCE_EMPTY_SQL_MODE constant
    • Usage of GLPI_PREVER constant
    • Support of doc_types, helpdesk_types and netport_types keys in Plugin::registerClass()
    • $CFG_GLPI['layout_excluded_pages'] entry
    • $CFG_GLPI['transfers_id_auto'] entry
    • $CFG_GLPI['use_ajax_autocompletion'] entry
    • $DEBUG_AUTOLOAD global variable
    • ๐Ÿ”Œ $LOADED_PLUGINS global variable
    • ๐ŸŒฒ $PHP_LOG_HANDLER global variable
    • ๐ŸŒฒ $SQL_LOG_HANDLER global variable
    • CommonDBTM::notificationqueueonaction property
    • NotificationTarget::html_tags property
    • getAllDatasFromTable()
    • getRealQueryForTreeItem()
    • ๐Ÿ›  Ajax::createFixedModalWindow()
    • Ajax::createSlidePanel()
    • ๐Ÿ‘ฏ Calendar_Holiday::cloneCalendar()
    • Calendar::duplicate()
    • ๐Ÿ‘ฏ CalendarSegment::cloneCalendar()
    • Change::getCommonLeftJoin()
    • Change::getCommonSelect()
    • Change::showAnalysisForm()
    • Change::showPlanForm()
    • ๐Ÿ‘ฏ CommonDBTM::clone()
    • CommonDBTM::getRawName()
    • ๐Ÿ‘ฏ CommonDBTM::prepareInputForClone()
    • ๐Ÿ‘ฏ CommonDBTM::post_clone()
    • CommonDBTM::showDates()
    • CommonGLPI::isLayoutExcludedPage()
    • CommonGLPI::isLayoutWithMain()
    • CommonGLPI::showPrimaryForm()
    • CommonITILObject::displayHiddenItemsIdInput()
    • CommonITILObject::filterTimeline()
    • CommonITILObject::getActorIcon()
    • CommonITILObject::getSplittedSubmitButtonHtml()
    • CommonITILObject::showActorsPartForm()
    • CommonITILObject::showFormHeader()
    • CommonITILObject::showGroupsAssociated()
    • CommonITILObject::showSupplierAddFormOnCreate()
    • CommonITILObject::showSuppliersAssociated()
    • CommonITILObject::showTimeline()
    • CommonITILObject::showTimelineForm()
    • CommonITILObject::showTimelineHeader()
    • CommonITILObject::showUsersAssociated()
    • ๐Ÿ‘ฏ Computer_Item::cloneComputer()
    • ๐Ÿ‘ฏ Computer_Item::cloneItem()
    • ๐Ÿ’ป Computer_SoftwareLicense class
    • ๐Ÿ’ป Computer_SoftwareVersion class
    • ๐Ÿ‘ฏ ComputerAntivirus::cloneComputer()
    • ๐Ÿ‘ฏ Contract::cloneItem()
    • ๐Ÿ‘ฏ Contract_Item::cloneItem()
    • ๐Ÿ‘ฏ ContractCost::cloneContract()
    • Config::agreeDevMessage()
    • Config::checkWriteAccessToDirs()
    • Config::displayCheckExtensions()
    • Config::getCache()
    • DBMysql::affected_rows()
    • DBMysql::areTimezonesAvailable()
    • ๐Ÿ‘€ DBMysql::data_seek()
    • DBMysql::fetch_array()
    • DBMysql::fetch_assoc()
    • DBMysql::fetch_object()
    • DBMysql::fetch_row()
    • DBMysql::field_name()
    • DBMysql::free_result()
    • DBmysql::getTableSchema()
    • DBMysql::insert_id()
    • DBMysql::isMySQLStrictMode()
    • DBMysql::list_fields()
    • DBMysql::notTzMigrated()
    • DBMysql::num_fields()
    • DbUtils::getRealQueryForTreeItem()
    • Dropdown::getDropdownNetpoint()
    • DCBreadcrumb::showDcBreadcrumb()
    • ๐Ÿ‘ฏ Document_Item::cloneItem()
    • Entity::showSelector()
    • ๐Ÿ”Œ Glpi\Marketplace\Api\Plugins::getNewPlugins()
    • ๐Ÿ”Œ Glpi\Marketplace\Api\Plugins::getPopularPlugins()
    • ๐Ÿ”Œ Glpi\Marketplace\Api\Plugins::getTopPlugins()
    • ๐Ÿ”Œ Glpi\Marketplace\Api\Plugins::getTrendingPlugins()
    • โšก๏ธ Glpi\Marketplace\Api\Plugins::getUpdatedPlugins()
    • Html::autocompletionTextField()
    • Html::displayImpersonateBanner()
    • Html::displayMainMenu()
    • Html::displayMenuAll()
    • Html::displayTopMenu()
    • Html::fileForRichText()
    • Html::generateImageName()
    • Html::imageGallery()
    • Html::jsDisable()
    • Html::jsEnable()
    • Html::nl2br_deep()
    • Html::replaceImagesByGallery()
    • Html::resume_name()
    • Html::setSimpleTextContent()
    • Html::setRichTextContent()
    • Html::showProfileSelecter()
    • Html::weblink_extract()
    • ๐Ÿ‘ฏ Infocom::cloneItem()
    • ๐Ÿ‘ฏ Itil_Project::cloneItilProject()
    • ITILFollowup::showApprobationForm()
    • ITILTemplate::getBeginHiddenFieldText()
    • ITILTemplate::getBeginHiddenFieldValue()
    • ITILTemplate::getEndHiddenFieldText()
    • ITILTemplate::getEndHiddenFieldValue()
    • ๐Ÿ‘ฏ Item_Devices::cloneItem()
    • ๐Ÿ‘ฏ Item_Disk::cloneItem()
    • ๐Ÿ‘ฏ Item_OperatingSystem::cloneItem()
    • ๐Ÿ‘ฏ Item_SoftwareLicense::cloneComputer()
    • ๐Ÿ‘ฏ Item_SoftwareLicense::cloneItem()
    • ๐Ÿ‘ฏ Item_SoftwareVersion::cloneComputer()
    • ๐Ÿ‘ฏ Item_SoftwareVersion::cloneItem()
    • ๐Ÿ’ป Item_SoftwareVersion::showForComputer()
    • โšก๏ธ Item_SoftwareVersion::updateDatasForComputer()
    • ๐Ÿ‘ฏ KnowbaseItem_Item::cloneItem()
    • LevelAgreement::showForTicket()
    • ๐Ÿ‘ฏ NetworkPort::cloneItem()
    • ๐Ÿ‘ฏ Notepad::cloneItem()
    • NotificationTargetTicket::isAuthorMailingActivatedForHelpdesk()
    • ๐Ÿ”Œ Plugin::getGlpiPrever()
    • ๐Ÿ”Œ Plugin::isGlpiPrever()
    • ๐Ÿ”Œ Plugin::setLoaded()
    • ๐Ÿ”Œ Plugin::setUnloaded()
    • ๐Ÿ”Œ Plugin::setUnloadedByName()
    • Problem::getCommonLeftJoin()
    • Problem::getCommonSelect()
    • Problem::showAnalysisForm()
    • ๐Ÿ‘ฏ ProjectCost::cloneProject()
    • ๐Ÿ‘ฏ ProjectTeam::cloneProjectTask()
    • ๐Ÿ‘ฏ ProjectTask::cloneProjectTeam()
    • Reservation::displayReservationDay()
    • Reservation::displayReservationsForAnItem()
    • Search::isDeletedSwitch()
    • Ticket::getCommonLeftJoin()
    • Ticket::getCommonSelect()
    • Ticket::getTicketTemplateToUse()
    • Ticket::showDocumentAddButton()
    • Ticket_Ticket::displayLinkedTicketsTo()
    • TicketTemplate::getFromDBWithDatas()
    • Toolbox::canUseImapPop()
    • ๐Ÿง Toolbox::checkSELinux()
    • Toolbox::commonCheckForUseGLPI()
    • Toolbox::convertImageToTag()
    • Toolbox::decrypt()
    • Toolbox::doubleEncodeEmails()
    • Toolbox::encrypt()
    • Toolbox::getGlpiSecKey()
    • ๐Ÿšš Toolbox::removeHtmlSpecialChars()
    • Toolbox::sanitize()
    • Toolbox::throwError()
    • Toolbox::unclean_html_cross_side_scripting_deep()
    • Toolbox::useCache()
    • Toolbox::userErrorHandlerDebug()
    • Toolbox::userErrorHandlerNormal()
    • ๐Ÿ’ป Transfer::transferComputerSoftwares()
    • โšก๏ธ Update::declareOldItems()
    • User::showPersonalInformation()