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
tomPDF
. - ๐ 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 ofglpi:ldap:synchronize_users
command available usingbin/console
- ๐ Deprecated
scripts/compute_dictionary.php
has been removed in favor ofglpi:rules:replay_dictionnary_rules
command available usingbin/console
- Deprecated
scripts/softcat_mass_compute.php
has been removed in favor ofglpi:rules:process_software_category_rules
command available usingbin/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 withIterator
has been fixed (i.e.DBmysqlIterator::next()
does not return current row anymore). Domain
class inheritance changed fromCommonDropdown
toCommonDBTM
.showForm()
method of all classes inheritingCommonDBTM
have been changed to matchCommonDBTM::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 fromTEXT
toMEDIUMTEXT
- Field
date
of KnowbaseItem has been renamed todate_creation
. - Field
date_creation
of KnowbaseItem_Revision has been renamed todate
. - Field
date_creation
of NetworkPortConnectionLog has been renamed todate
. - Field
date
of Notepad has been renamed todate_creation
. - Field
date_mod
of ObjectLock has been renamed todate
. - Field
date
of ProjectTask has been renamed todate_creation
. - Table
glpi_netpoints
has been renamed toglpi_sockets
. - ๐ฎ
GLPI_FORCE_EMPTY_SQL_MODE
constant has been removed in favor ofGLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE
usage. - ๐
CommonDBTM::clone()
,CommonDBTM::prepareInputForClone()
andCommonDBTM::post_clone()
has been removed. Clonable objects must now useGlpi\Features\Clonable
trait. CommonDBTM::notificationqueueonaction
property has been removed in favor ofCommonDBTM::deduplicate_queued_notifications
property.CommonDropdown::displaySpecificTypeField()
has a new$options
parameter.- โช
DBMysql::rollBack
supports aname
parameter for rolling back to a savepoint. Knowbase::getJstreeCategoryList()
as been replaced byKnowbase::getTreeCategoryList()
.NetworkPortInstantiation::showNetpointField()
has been renamed toNetworkPortInstantiation::showSocketField()
.NotificationSettingConfig::showForm()
renamed toNotificationSettingConfig::showConfigForm()
.RuleMatchedLog::showForm()
renamed toRuleMatchedLog::showItemForm()
.Search::addOrderBy()
signature changed.TicketSatisfaction::showForm()
renamed toTicketSatisfaction::showSatisfactionForm()
.Transfer::transferDropdownNetpoint()
has been renamed toTransfer::transferDropdownSocket()
.
๐ Deprecated
- Usage of
MyISAM
engine in database, in favor ofInnoDB
engine. - Usage of
utf8mb3
charset/collation in database in favor ofutf8mb4
charset/collation. - Usage of
datetime
field type in database, in favor oftimestamp
field type. - Handling of encoded/escaped value in
autoName()
- ๐
Netpoint
has been deprecated and replaced bySocket
CommonDropdown::displayHeader()
, useCommonDropdown::displayCentralHeader()
instead and make sure to override properlyfirst_level_menu
,second_level_menu
andthird_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 oftwbs/bootstrap
. This implies removal of following widgets:$.accordion
,$.autocomplete
,$.button
,$.dialog
,$.draggable
,$.droppable
,$.progressbar
,$.resizable
,$.selectable
,$.sortable
,$.tabs
,$.tooltip
. - Usage of
$order
parameter ingetAllDataFromTable()
(DbUtils::getAllDataFromTable()
) - Usage of
table
parameter in requests made toajax/comments.php
- ๐ฎ Usage of
GLPI_FORCE_EMPTY_SQL_MODE
constant - Usage of
GLPI_PREVER
constant - Support of
doc_types
,helpdesk_types
andnetport_types
keys inPlugin::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
propertyNotificationTarget::html_tags
propertygetAllDatasFromTable()
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()