Update dependency glpi-project/glpi to v11
This MR contains the following updates:
| Package | Update | Change |
|---|---|---|
| glpi-project/glpi | major |
10.0.20 -> 11.0.4
|
Release Notes
glpi-project/glpi (glpi-project/glpi)
v11.0.4
Added
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed
v11.0.3
Added
- Support for setting a dropdown value like
statusfor assets by using theidproperty (ex:"status": {"id": 5}) as it shows in the OpenAPI schema for the High-Level API. The previous behavior of setting these properties directly (ex:"status": 5) is still supported.
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed
v11.0.2
Added
- Some missing
readOnlyflags for properties for some schemas in High-Level API. - Some missing UUID and color pattern constraints for properties in some schemas in High-Level API.
- High-Level API endpoints for configuration settings
/Setup/Config/{context}/{name}. -
uuid,user_tech,group_tech,date,date_creation,date_mod,planned_begin,planned_end,timeline_position,source_item_id, andsource_of_item_idproperties for the applicable Ticket, Change and Problem Task schemas in the High-Level API v2.1. -
date,timeline_position,source_item_id, andsource_of_item_idproperties for the Followup schema in the High-Level API v2.1. -
approver,approval_followup,date_creation,date_mod, anddate_approvalproperties for the Solution schema in the High-Level API v2.1. -
timeline_positionproperty for the TicketValidation, ChangeValidation and Document_Item schemas in the High-Level API v2.1. -
date_solve,date_close, andglobal_validationproperties for the applicable Ticket, Change and Problem schemas in the High-Level API v2.1. - New schemas/endpoints for Reminders, RSS Feeds, and Reservations in the High-Level API v2.1.
-
date_password_change,location,authtype,last_login,default_profileanddefault_entityproperties for the User schema in the High-Level API v2.1. - New UserPreferences schema and endpoints in the High-Level API v2.1.
- Some missing
completenameandlevelproperties for some schemas in High-Level API v2.1.
Changed
- Fixed
idproperty in dropdown/linked object properties in schemas in High-Level API showing as readOnly when they are writable. - Added High-Level API version 2.1. Make sure you are pinning your requests to a specific version (Ex:
/api.php/v2.0) if needed to exclude endpoints/properties added in later versions. See version pinning in the getting started documentation/api.php/getting-started. - High-Level API responses for not found routes now correctly return a body including the standard error properties (status, title, detail). This is not controlled by the API version.
Deprecated
Removed
- Invalid
max_powerproperty in thePassiveDCEquipmentModelschema in High-Level API. - Invalid
chipsetproperty in theSystemboardModelschema in High-Level API. - Invalid
date_creationanddate_modproperties in theGenericDeviceTypeandSensorTypeschemas in High-Level API. - Invalid
completenameproperty in theTicketTemplate,ChangeTemplate, andProblemTemplateschemas in High-Level API.
API changes
Added
Changes
Deprecated
- Usage of
MAIL_SMTPTLSmode for SMTP configuration.
Removed
v11.0.1
Added
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed
v11.0.0
Added
- Business Rules for Changes
- Business Rules for Problems
- Configurable toast notification location
-
Link ITIL ObjectandUnlink ITIL Objectmassive actions for Tickets, Changes, and Problems. - Group approval requests (any user from group can approve).
- Approval requests are grouped by validation step.
- Satisfaction surveys for Changes
- New right for assigning service levels to ITIL Objects (UPDATE right also still allows this).
- New right for impersonation of users with fewer rights (Config UPDATE right also still allows this globally).
- Marketplace availability configuration.
- Toast popup message location configuration.
- Datacenter room grid size configuration (per room).
- Approval reminder automatic action.
- Reservation massive actions.
-
aliasandcodefields for Locations. - Profile cloning.
- Associated elements for recurring ITIL Objects.
- Processes and Environment Variable tabs for automatically inventoried assets.
- Log viewer for logs in
files/_logdirectory. - Custom palette/theme support (uses
files/_themesdirectory by default). - Two-Factor Authentication (2FA) support via Time-based One-time Password (TOTP).
-
Deny loginauthorization rule action to deny login for a user, but not prevent the import/existence of the user in GLPI. - Directly capture screenshots or screen recordings from the "Add a document" form in tickets.
- With a clean install, dashboards now show fake/placeholder data by default with a message indicating you are viewing demonstration data and a button to disable it.
- Assets that can be assigned to users/groups have new "View assigned" and "Update assigned" rights which give read/update access to users and groups assigned to the asset.
-
ODSandXLSexport of search results. - Support for the well-known `change-password" URI which can be used by some password managers to automatically (or assist with) changing a user's password.
- CLI commands for creating local GLPI users, enabling/disabling/deleting users, resetting local GLPI user passwords and granting profile assignments.
- Cloning templates (such as computer templates)
- Creating a template from an existing item (such as a computer). This action is only available from the Actions menu within the item form (bulk action not allowed).
- Massive action for users to reapply authorization assignment rules.
- Massive action for users to send a password reset email.
Changed
- ITIL Objects can now be linked to any other ITIL Objects similar to the previous Ticket/Ticket links.
- Logs are now shown using the Search Engine
- The approval option previously named
Groupis now calledGroup user(s)to better reflect that it shows a list of users from a specific group rather than allow sending an approval for a group. - The ticket business rule action
Ticket category from codewas renamed toITIL category from code. - The ticket business rule criteria
Code representing the ticket categorywas renamed toCode representing the ITIL category. - The ticket business rule criteria
Ticket locationwas renamed toLocation. - ITIL Templates can now restrict available statuses.
- Improved offline mode for marketplace.
- Lines can be assigned directly to assets without needing a SIM card.
- Planning event occurances can be detached from a series.
- Locations are now displayed in Datacenter breadcrumbs.
- Marketplace CLI download command now supports downloading specific versions of plugins.
- Browse tab of Knowledgebase now uses the Search Engine.
- Satisfaction surveys can now be configured with a custom maximum score, default score, and if a comment is required.
- LDAP TLS version can now be specified.
- Kanabn view state can be reset from the Kanban if the user has the right to modify the view.
- Personal reminders in central view now include only non-public reminders created by the user.
- Public reminders in central view now include public reminders regardless of who created them.
- Project description field is now a rich text field.
- Entity, profile, debug mode flag, and language are restored after ending impersonation.
- Volumes now show
Used percentageinstead ofFree percentage. - Budget "Main" tab now shows negative values for "Total remaining in the budget" in parentheses instead of with a negative sign to align with typical accounting practices.
- Followups and Tasks no longer visible without the "See public" or "See private" rights even if the user has permission to be assigned the parent ITIL Object.
- Followups, Tasks and Solutions now check the
canView()method of the parent ITIL Object rather than just the "See my/See author" right of the parent item. This means they now take into account "See all", "See group", etc. rights for the global permission check. Permission checks at the item-level have not been changed. - External Links
Link or filenameandFile contentfields now use Twig templates instead of a custom tag syntax. - Itemtypes associated with External links are now in the main form rather than a separate tab.
- The
Computer_Itemclass has been replaced by the\Glpi\Asset\Asset_PeripheralAssetclass. - List of network ports in a VLAN form now shows the NetworkPort link in a breadcrumb manner (MyServer > eth0 where MyServer is a link to the computer and eth0 is a link to the port).
- Running
front/cron.phporbin/consolewill attempt to check and block execution if running as root. - Testing LDAP replicates now shows results as toast notifications rather than inside the replicate tab after a page reload.
- The debug tab that was present, for some items, when the debug mode was active, no longer exists. The corresponding features have been either moved, either removed.
-
GroupandGroup in chargefields for assets may now contain multiple groups. - "If software are no longer used" transfer option is now taken into account rather than always preserving.
- Notifications can now specify exclusions for recipients.
- Warranty expiration alerts no longer trigger for deleted items.
- New UI for searching for Ticket/Change/Problem solutions from the Knowledgebase.
- Validations are only allowed on Tickets and Changes that are not solved or closed.
- Searching project tasks in the legacy API is no longer restricted to only tasks the user is assigned to.
- Renamed
From email headerandTo email headercriteria in the mails receiver rules toFrom email addressandTo email addressrespectively. - Replaced text mentions of "Validations" with "Approvals" to unify the terminology used.
- User passwords are no longer wiped when the authentication source/server doesn't actually change during "Change of the authentication method" action.
- Single item actions (Actions menu in item form) are now filtered by certain attributes of the item. For example, a Computer which has reservations enabled will not show the
Authorize reservationsaction. - Improved labels in component link dropdown to only include textual information and hide normally hidden data.
- Component types list is now categorized similar to the dropdown types list.
Deprecated
- Survey URL tags
TICKETCATEGORY_IDandTICKETCATEGORY_NAMEare deprecated and replaced byITILCATEGORY_IDandITILCATEGORY_NAMErespectively.
Removed
- XML-RPC API.
-
Link ticketsmassive action for Tickets (UseLink ITIL Objectinstead). -
Link to a problemmassive action for Tickets (UseLink ITIL Objectinstead). - Manage tab for Knowledgebase (Unpublished is now a toggle in the browse tab).
- The database "master" property in the status checker (/status.php and glpi:system:status), replaced by "main".
- The database "slaves" property in the status checker (/status.php and glpi:system:status), replaced by "replicas".
- API URL is no longer customizable within GLPI. Use alias/rewrite rules in your web server configuration instead if needed.
-
status.phpandbin/console system:statusno longer supports plain-text output. -
Glpi\System\Status\StatusChecker::getServiceStatus()as_arrayparameter. -
Sylkexport of search results. -
full_width_adapt_columnoption for fields macros has been removed. -
Picturesearch option (ID 150) for Users.
API changes
Added
-
phpCASlibrary is now bundled in GLPI, to prevent version compatibility issues. -
Glpi\DBAL\QueryFunctionclass with multiple static methods for building SQL query function strings in an abstract way. -
fetchSessionMessages()global JS function to display new session messages as toast notifications without requiring a page reload. -
is_exclusioncolumn added toglpi_notificationtargetstable. -
CommonDBTM::getForbiddenMultipleMassiveActions()method to allow specifying which actions should only be shown from the item form.
Changes
- Many methods have their signature changed to specify both their return type and the types of their parameters.
-
chartistlibrary has been replaced byecharts. -
codemirrorlibrary has been replaced bymonaco-editor. -
htmLawedlibrary has been replaced bysymfony/html-sanitizer. -
monolog/monologhas been upgraded to version 3.3. -
photoswipelibrary has been upgraded to version 5.x. -
phpmailer/phpmailerlibrary has been replaced bysymfony/mailer. -
true/punycodelibrary has been removed. -
Symfonylibraries have been upgraded to version 6.0. -
users_id_validatefield inCommonITILValidationwill now have a0value until someone approves or refuses the validation. Approval targets (who the approval is for) is now indicated byitemtype_targetanditems_id_targetfields. - Notifications are not deduplicated anymore.
- Notifications with
Approverrecipient have had this recipient replaced with the newApproval targetrecipient to maintain previous behavior as much as possible. The previous recipient option still exists if needed. This replacement will only happen once during the upgrade. -
GLPIMailermailer class does not extends anymorePHPMailer\PHPMailer\PHPMailer. We added a compatibility layer to handle main usages found in plugins, but we cannot ensure compatibility with all properties and methods that were inherited fromPHPMailer\PHPMailer\PHPMailer. -
CommonGLPI::$othertabsstatic property has been made private. -
CommonGLPI::createTabEntry()signature changed. -
CommonITILValidation::showSummary()method has been made private. - All types of rules are now sortable and ordered by ranking.
- Plugins console commands must now use the normalized prefix
plugins:XXXwhereXXXis the plugin key. - GLPI web root is now the
/publicdirectory and all web request to PHP scripts are proxified bypublic/index.phpscript. - Usage of
DBmysql::query()andDBmysql::queryOrDie()method are prohibited to ensure that legacy unsafe DB are no more executed. Building and executing raw queries usingDBmysql::request(),DBmysqlIterator::buildQuery()andDBmysqlIterator::execute()methods is also prohibited. To execute DB queries, eitherDBmysql::request()can be used to craft query using the GLPI query builder, orDBmysql::doQuery()can be used for safe queries to execute DB query using a self-crafted a SQL string. - The dynamic progress bar provided by the
Htmlclass no longer works. TheProgressIndicatorJS module can be used as a replacement to display the progress of a process. -
js/fuzzysearch.jsreplaced withFuzzySearch/ModalVue component. -
Html::fuzzySearch()replaced withHtml::getMenuFuzzySearchList()function. -
NotificationEvent::raiseEvent()signature cahnged. A new$triggerparameter has been added at 4th position, and$labelis now the 5th parameter. -
NotificationEventInterface::raise()has a new$triggerparameter. -
QueryExpressionclass moved toGlpi\DBALnamespace. -
QueryParamclass moved toGlpi\DBALnamespace. -
QuerySubQueryclass moved toGlpi\DBALnamespace. -
QueryUnionclass moved toGlpi\DBALnamespace. -
PrinterLog::getMetrics()method has been made final. -
SavedSearch::showSaveButton()replaced withpages/tools/savedsearch/save_button.html.twigtemplate. -
showSystemInformationsmethod for$CFG_GLPI['systeminformations_types']types renamed togetSystemInformationand should return an array with a label and content. -
DisplayPreferenceconfig form POST handling moved toajax/displaypreference.phpscript. The front file is for displaying the tabs only. -
Document::send()signature changed. The$contextparameter has been removed. -
titleproperty of Kanban items must be text only. HTML no longer supported. -
kanban:filterJS event now includes the columns in the event data. Filtering must set the_filtered_outproperty of cards to hide them instead of changing the elements in the DOM. -
CommonITILActor::getActors()signature changed. The$items_idparameter must strictly be an integer. - The
date_modproperty for historical entries returned byLog::getHistoryDatais no longer formatted based on the user's preferences. -
Rule::dropdownRulesMatch()has been made protected. -
ITILTemplateField::showForITILTemplate()method is no longer abstract. -
CommonITILTask::getItilObjectItemTypeis now static. - The
Item_Ticket$1tab should be used in replacement of theTicket$1tab to display tickets associated with an item. - Specifying the
rankingof a rule during add/update now triggersRuleCollection::moveRuleto manage the rankings of other rules to try to keep them valid and in order. -
Lock::getLocksQueryInfosByItemType()has been made private. -
DBmysql::request(),DBmysqlIterator::buildQuery()andDBmysqlIterator::execute()methods signatures changed. - Some values for the
$typeparameters of severalStatmethods have changed to match English spelling (technicien -> technician). -
showInstantiationForm()method for Network Port classes are now expected to output HTML for a flex form instead of a table. -
NetworkName::showFormForNetworkPort()now outputs HTML for a flex form instead of a table. -
NetworkPortInstantiation::showSocketField(),NetworkPortInstantiation::showMacField(),NetworkPortInstantiation::showNetworkCardFieldnow outputs HTML for a flex form instead of a table. -
CommonGLPI::can*()andCommonDBTM::can*()methods now have strict type hints for their parameters and return types. - Multiple methods in
CommonDeviceand sub-classes now have return types defined (classes that extends these must match the new method signatures). -
templates/password_form.html.twigshould no longer be used directly. Usetemplates/forgotpassword.html.twig,templates/updatepassword.html.twigor a custom template. - Usage of
ajax/dropdownMassiveActionAddValidator.phpandajax/dropdownValidator.phpnow requires avalidation_classparameter. - Usage of
ajax/dropdownValidator.phpwith theusers_id_validateparameter is no longer supported. Useitems_id_targetinstead. -
Glpi\Dashboard\Filters\AbstractFilter::field()method has been made protected. - Usage of
CommonITILValidation::dropdownValidator()with thenameandusers_id_validateoptions are no longer supported. Useprefixanditemtype_target/items_id_targetrespectively instead. - The
helperproperty of form fields will not support anymore the presence of HTML code. -
GLPI::initErrorHandler()does not return any value anymore. - The
inc/autoload.function.php,inc/based_config.php,inc/config.php,inc/db.function.phpandinc/define.phpfiles have been removed and theinc/includes.phpfile has been almost emptied. The corresponding global functions, constants and variables are now loaded and initialized automatically and the corresponding GLPI boostraping logic is now executed automatically. -
Plugin::init()andPlugin::checkStates()methods signature changed. It is not anymore possible to exclude specific plugins. - In a HTTP request context
$_SERVERvariables, likePATH_INFO,PHP_SELF,SCRIPT_FILENAMEandSCRIPT_NAME, will no longer refer to the requested script, but will refer to thepublic/index.phpscript. - Any class added to
$CFG_GLPI['directconnect_types']must now use theGlpi\Features\AssignableItemtrait as multi-group support is required. - For assets,
groups_idandgroups_id_techfields were changed from integers to arrays and are loaded into thefieldsarray aftergetFromDB/getEmpty. If reading directly from the DB, you need to query the new linking tableglpi_groups_items. -
Group::getDataItems()signature changed. The two first parameters$typesand$fieldwere replaced by a unique boolean$techparameter that is used to compute the$typesand$fieldvalues automatically. -
CartridgeItem::addCompatibleType()method is now static. -
Rule::initRule()has been made final and non static and its signature changed. -
Clonable::clone()andClonable::cloneMultiple()methods now accept a$clone_as_templateparameter to allow creating templates. -
enable_partial_warningsoption removed fromSavedSearch::displayMine(). -
enable_partial_warningsoption removed fromSavedSearch::execute(). -
enable_partial_warningsoption removed fromSavedSearch::getMine(). -
Transferclass is now final. -
Transfer::addNotToBeTransfer()method is now private. -
Transfer::addToAlreadyTransfer()method is now private. -
Transfer::addToBeTransfer()method is now private. -
Transfer::cleanSoftwareVersions()method is now private. -
Transfer::copySingleSoftware()method is now private. -
Transfer::copySingleVersion()method is now private. -
Transfer::simulateTransfer()method is now private. -
Transfer::transferAffectedLicense()method is now private. -
Transfer::transferCertificates()method is now private. -
Transfer::transferCompatiblePrinters()method is now private. -
Transfer::transferContracts()method is now private. -
Transfer::transferDevices()method is now private. -
Transfer::transferDirectConnection()method is now private. -
Transfer::transferDocuments()method is now private. -
Transfer::transferDropdownLocation()method is now private. -
Transfer::transferDropdownSocket()method is now private. -
Transfer::transferHelpdeskAdditionalInformations()method is now private. -
Transfer::transferHistory()method is now private. -
Transfer::transferInfocoms()method is now private. -
Transfer::transferItem()method is now private. -
Transfer::transferItem_Disks()method is now private. -
Transfer::transferItemSoftwares()method is now private. -
Transfer::transferLinkedSuppliers()method is now private. -
Transfer::transferNetworkLink()method is now private. -
Transfer::transferPrinterCartridges()method is now private. -
Transfer::transferReservations()method is now private. -
Transfer::transferSingleSupplier()method is now private. -
Transfer::transferSoftwareLicensesAndVersions()method is now private. -
Transfer::transferSupplierContacts()method is now private. -
Transfer::transferTaskCategory()method is now private. -
Transfer::transferTickets()method is now private. -
linkoptionoption has been removed fromCommonDBTM::getLink(). -
commentsandiconoptions have been removed fromCommonDBTM::getName(). -
commentsandiconoptions have been removed fromCommonDBTM::getNameID(). - The
$keepDbparameter has been removed fromHtml::footer(). -
DBConnection::createMainConfig()signature changed. The$allow_myisamparameter has been removed. -
DBConnection::createSlaveConnectionFile()signature changed. The$allow_myisamparameter has been removed. -
DBmysql::$allow_myisamproperty has been removed. -
Contract::getExpiredCriteria()renamed toContract::getNotExpiredCriteria()to match the actual behavior. -
Migration::updateRight()renamed toMigration::replaceRight(). -
Search::getOptions()no longer returns a reference. - The
$targetparameter has been removed from theAuthLDAP::showLdapGroups()method. - The
$targetparameter has been removed from theRule::showRulePreviewCriteriasForm(),Rule::showRulePreviewResultsForm(),RuleCollection::showRulesEnginePreviewCriteriasForm(), andRuleCollection::showRulesEnginePreviewResultsForm()methods signature. -
Hooks::SHOW_IN_TIMELINE/show_in_timelineplugin hook has been renamed toHooks::TIMELINE_ITEMS/timeline_items. -
Auth::getMethodName()now only returns the name without a link. UseAuth::getMethodLink()to get a HTML-safe link. -
GLPI_STRICT_DEPRECATEDconstant is now know asGLPI_STRICT_ENV -
Software::merge()method is now private. - The refusal of the collected emails corresponding to a GLPI notification will now be made based on a default rule.
- The
$store_pathparameter has been removed from theDropdown::dropdownIcons()method. - The
PLUGINS_DIRECTORIESconstant has been renamed toGLPI_PLUGINS_DIRECTORIES. - Most of the
Profile::show*()methods have been made private. -
serverparameter ofUser::changeAuthMethod()now defaults to '0' instead of '-1' which was an invalid value when using unsigned integers. -
checkitemparameter ofCommonDBTM::getMassiveActionsForItemtype()is now the actual item being acted on when in single item mode. To identify the difference between the generic item instance given for multi-item mode, use theisNewItem()method. - TinyMCE library is now loaded automatically on every page.
Deprecated
- Usage of the
/marketplacepath for plugins URLs. All plugins URLs should now start with/plugins. - Usage of
GLPI_PLUGINS_PATHjavascript variable. - Usage of the
GLPI_FORCE_MAILconstant. - Usage of
MAIL_SMTPSSLmode for SMTP configuration. - Usage of
nameandusers_id_validateparameter inajax/dropdownValidator.php. - Usage of
users_id_validateparameter infront/commonitilvalidation.form.php. -
front/ticket_ticket.form.phpscript usage. - Usage of
users_id_validateinput inCommonITILObject. - Defining "users_id_validate" field without defining "itemtype_target"/"items_id_target" in "CommonITILValidation".
- Usage of
nameandusers_id_validateoptions inCommonITILValidation::dropdownValidator(). - Usage of
get_plugin_web_dirTwig function. - Usage of
verbatim_valueTwig filter. -
js/Forms/FaIconSelector.jsand thereforewindow.GLPI.Forms.FaIconSelectorhas been deprecated and replaced byjs/modules/Form/WebIconSelector.js -
linkuser_types,linkgroup_types,linkuser_tech_types,linkgroup_tech_typesconfiguration entries have been merged in a uniqueassignable_typesconfiguration entry. - Usage of the
front/dropdown.common.phpand thedropdown.common.form.phpfiles. There is now a generic controller that will serve the search and form pages of anyDropdownclass. - Usage of the
$linkparameter informatUserName()andDbUtils::formatUserName(). UseformatUserLink()orDbUtils::formatUserLink()instead. - Usage of the
$linkparameter ingetUserName()andDbUtils::getUserName(). UsegetUserLink(),DbUtils::getUserLink(), orUser::getInfoCard()instead. - Usage of the
$withcommentparameter ingetTreeValueCompleteName(),DbUtils::getTreeValueCompleteName()andDropdown::getDropdownName(). UseDropdown::getDropdownComments()instead. Auth::getErr()-
ComputerAntivirushas been deprecated and replaced byItemAntivirus -
ComputerVirtualMachinehas been deprecated and replaced byItemVirtualMachine -
DBmysql::deleteOrDie(). UseDBmysql::delete()instead. -
DBmysql::doQueryOrDie(). UseDBmysql::doQuery()instead. -
DBmysql::insertOrDie(). UseDBmysql::insert()instead. DBmysql::truncate()DBmysql::truncateOrDie()-
DBmysql::updateOrDie(). UseDBmysql::update()instead. Document::send()Glpi\Application\View\Extension\DataHelpersExtension::getVerbatimValue()Glpi\Application\View\Extension\PluginExtension::getPluginWebDir()Glpi\Dashboard\Filter::getAll()Glpi\Http\Response::send()Glpi\Http\Response::sendContent()-
Glpi\Http\Response::sendError(). Throw aGlpi\Exception\Http\*HttpExceptionexception instead. Glpi\Http\Response::sendHeaders()Glpi\Toolbox\Sanitizer::dbEscape()Glpi\Toolbox\Sanitizer::dbEscapeRecursive()Glpi\Toolbox\Sanitizer::dbUnescape()Glpi\Toolbox\Sanitizer::dbUnescapeRecursive()Glpi\Toolbox\Sanitizer::decodeHtmlSpecialChars()Glpi\Toolbox\Sanitizer::decodeHtmlSpecialCharsRecursive()Glpi\Toolbox\Sanitizer::encodeHtmlSpecialChars()Glpi\Toolbox\Sanitizer::encodeHtmlSpecialCharsRecursive()Glpi\Toolbox\Sanitizer::getVerbatimValue()Glpi\Toolbox\Sanitizer::isDbEscaped()Glpi\Toolbox\Sanitizer::isHtmlEncoded()Glpi\Toolbox\Sanitizer::isNsClassOrCallableIdentifier()Glpi\Toolbox\Sanitizer::sanitize()Glpi\Toolbox\Sanitizer::unsanitize()Html::ajaxFooter()Html::changeProgressBarMessage()Html::changeProgressBarPosition()Html::cleanInputText()Html::cleanPostForTextArea()Html::createProgressBar()-
Html::displayErrorAndDie(). Throw aGlpi\Exception\Http\BadRequestHttpExceptionexception instead. -
Html::displayNotFoundError(). Throw aGlpi\Exception\Http\NotFoundHttpExceptionexception instead. Html::displayProgressBar()-
Html::displayRightError(). Throw aGlpi\Exception\Http\AccessDeniedHttpExceptionexception instead. Html::entities_deep()Html::entity_decode_deep()Html::glpi_flush()Html::jsGetElementbyID()Html::jsGetDropdownValue()Html::jsSetDropdownValue()Html::progressBar()HookManager::enableCSRF()-
ITILFollowup::ADDMYTICKETconstant. UseITILFollowup::ADDMY. -
ITILFollowup::ADDGROUPTICKETconstant. UseITILFollowup::ADD_AS_GROUP. -
ITILFollowup::ADDALLTICKETconstant. UseITILFollowup::ADDALLITEM. Migration::addNewMessageArea()Migration::displayError()Migration::displayTitle()Migration::displayWarning()Migration::setOutputHandler()-
Pdu_Plughas been deprecated and replaced byItem_Plug Plugin::getWebDir()Search::joinDropdownTranslations()-
Ticketlink_to_problemmassive action is deprecated. UseCommonITILObject_CommonITILObjectaddmassive action instead. -
Ticket_Ticketaddmassive action is deprecated. UseCommonITILObject_CommonITILObjectaddmassive action instead. Ticket_Ticket::getLinkedTicketsTo()-
Timerclass Toolbox::addslashes_deep()Toolbox::seems_utf8()Toolbox::sendFile()Toolbox::stripslashes_deep()
Removed
-
GLPI_USE_CSRF_CHECK,GLPI_USE_IDOR_CHECK,GLPI_KEEP_CSRF_TOKEN,GLPI_CSRF_EXPIRES,GLPI_CSRF_MAX_TOKENSandGLPI_IDOR_EXPIRESconstants. -
GLPI_DEMO_MODEconstant. -
GLPI_DUMP_DIRconstant. -
GLPI_SQL_DEBUGconstant. -
$AJAX_INCLUDEglobal variable. -
$CFG_GLPI_PLUGINSglobal variable. -
$DBCONNECTION_REQUIREDand$USEDBREPLICATEglobal variables. UseDBConnection::getReadConnection()to get the most apporpriate connection for read only operations. -
$dont_check_maintenance_modeand$skip_db_checkglobal variables. -
$GLPIglobal variable. -
$LANGglobal variable. -
$PLUGINS_EXCLUDEDand$PLUGINS_INCLUDEDglobal variables. -
$SECURITY_STRATEGYglobal variable. -
$SQLLOGGERglobal variable - Usage of
$CFG_GLPI['itemdevices']and$CFG_GLPI['item_device_types']configuration entries. UseItem_Devices::getDeviceTypes()to get theItem_Devicesconcrete class list. - Usage of
csrf_compliantplugins hook. - Usage of
migratetypesplugin hooks. - Usage of
planning_scheduler_keyplugins hook. - Logging within the
mail-debug.loglog file. -
X-GLPI-Sanitized-ContentREST API header support. - Handling of encoded/escaped value in
autoName(). closeDBConnectionsregenerateTreeCompleteName()Ajax::updateItemOnInputTextEvent()Appliance::getMassiveActionsForItemtype()AuthLDAP::ldapChooseDirectory()AuthLDAP::displayLdapFilter()AuthLDAP::dropdownUserDeletedActions()AuthLDAP::dropdownUserRestoredActions()AuthLDAP::getDefault()AuthLDAP::getLdapDeletedUserActionOptions()AuthLDAP::manageValuesInSession()AuthLDAP::showDateRestrictionForm()Cartridge::getNotificationParameters()CartridgeItem::showDebug()Certificate::showDebug()Change::showDebug()Change_Item::showForChange()-
CommonDBTM::$deduplicate_queued_notificationsproperty. CommonDBTM::cleanLockedsOnAdd()CommonDBTM::getCacheKeyForFriendlyName()CommonDBTM::getSNMPCredential()CommonDBTM::hasSavedInput()CommonDBTM::showDebugInfo()CommonDevice::title()-
CommonDropdown::$first_level_menu,CommonDropdown::$second_level_menuandCommonDropdown::$third_level_menuproperties. CommonDropdown::displayHeader()-
CommonGLPI::$typeproperty. CommonGLPI::getAvailableDisplayOptions()CommonGLPI::getDisplayOptions()CommonGLPI::getDisplayOptionsLink()CommonGLPI::updateDisplayOptions()CommonGLPI::showDislayOptions()CommonITILActor::showUserNotificationForm()CommonITILActor::showSupplierNotificationForm()-
CommonITILObject::$userentity_oncreateproperty. CommonITILObject::getAssignName()CommonITILObject::getContentTemplatesParametersClass()CommonITILObject::isValidator()CommonITILObject::showActorAddFormOnCreate()CommonITILValidation::alreadyExists()CommonITILValidation::getTicketStatusNumber()CommonITILValidation::getValidationStats()CommonTreeDropdown::sanitizeSeparatorInCompletename()CommonTreeDropdown::unsanitizeSeparatorInCompletename()Computer_Item::countForAll()Computer_Item::disconnectForItem()Computer_Item::dropdownAllConnect()Computer_Item::showForComputer()Computer_Item::showForItem()ComputerAntivirus::showForComputer()ComputerVirtualMachine::showForComputer()Config::detectRootDoc()Config::getCurrentDBVersion()Config::getLibraries()Config::getLibraryDir()Config::showDebug()Config::showLibrariesInformation()Config::validatePassword()Consumable::showAddForm()Consumable::showForConsumableItem()ConsumableItem::showDebug()Contract::commonListHeader()Contract::getContractRenewalIDByName()Contract::showDebug()Contract::showShort()DbUtils::closeDBConnections()DbUtils::regenerateTreeCompleteName()DBConnection::displayMySQLError()-
DBmysql::errorproperty. DBmysql::getLastQueryWarnings()Document::getImage()Document::showUploadedFilesDropdown()Document::uploadDocument()Document_Item::showSimpleAddForItem()Dropdown::showAdvanceDateRestrictionSwitch()-
DropdownTranslation::canBeTranslated(). Translations are now always active. DropdownTranslation::getTranslationByName()-
DropdownTranslation::isDropdownTranslationActive(). Translations are now always active. Entity::getDefaultContractValues()Entity::cleanEntitySelectorCache()Entity::title()FieldUnicity::checkBeforeInsert()FieldUnicity::showDebug()GLPI::getErrorHandler()GLPI::getLogLevel()GLPI::initErrorHandler()GLPI::initLogger()Glpi\Api\API::showDebug()Glpi\Api\API::returnSanitizedContent()-
Glpi\Application\ErrorHandlerclass Glpi\Cache\CacheManager::getInstallerCacheInstance()-
Glpi\Console\Command\ForceNoPluginsOptionCommandInterfaceclass Glpi\Dashboard\Filter::dates()Glpi\Dashboard\Filter::dates_mod()Glpi\Dashboard\Filter::itilcategory()Glpi\Dashboard\Filter::requesttype()Glpi\Dashboard\Filter::location()Glpi\Dashboard\Filter::manufacturer()Glpi\Dashboard\Filter::group_tech()Glpi\Dashboard\Filter::user_tech()Glpi\Dashboard\Filter::state()Glpi\Dashboard\Filter::tickettype()Glpi\Dashboard\Filter::displayList()Glpi\Dashboard\Filter::field()Glpi\Dashboard\Widget::getCssGradientPalette()-
Glpi\Debug\Toolbarclass Glpi\Event::showList()Glpi\Features\DCBreadcrumb::getDcBreadcrumb()Glpi\Features\DCBreadcrumb::getDcBreadcrumbSpecificValueToDisplay()Glpi\Features\DCBreadcrumb::isEnclosurePart()Glpi\Features\DCBreadcrumb::isRackPart()Glpi\Inventory\Conf::importFile()Glpi\Socket::executeAddMulti()Glpi\Socket::showNetworkPortForm()-
Glpi\System\Requirement\DataDirectoriesProtectedPathclass. -
Glpi\System\Requirement\ProtectedWebAccessclass. -
Glpi\System\Requirement\MysqliMysqlndclass. -
Glpi\System\Requirement\SafeDocumentRootclass. Glpi\System\Status\StatusChecker::getFullStatus()Group::title()-
Group_Useris_userdelegatefield. Html::autocompletionTextField()Html::clean()Html::closeArrowMassives()Html::displayAccessDeniedPage()-
Html::displayAjaxMessageAfterRedirect(). The JS function is already provided byjs/misc.js. Html::displayItemNotFoundPage()Html::getCoreVariablesForJavascript()Html::jsConfirmCallback()Html::jsHide()Html::jsShow()Html::openArrowMassives()Html::showTimeField()Impact::buildNetwork()Infocom::addPluginInfos()Infocom::showDebug()IPNetwork::recreateTree()IPNetwork::title()Item_Problem::showForProblem()Item_Ticket::showForTicket()ITILTemplate::getSimplifiedInterfaceFields()Knowbase::getTreeCategoryList()Knowbase::showBrowseView()Knowbase::showManageView()KnowbaseItem::addToFaq()KnowbaseItem::addVisibilityJoins()KnowbaseItem::addVisibilityRestrict()KnowbaseItem::showBrowseForm()KnowbaseItem::showManageForm()KnowbaseItem_Comment::displayComments()KnowbaseItem_KnowbaseItemCategory::displayTabContentForItem()KnowbaseItem_KnowbaseItemCategory::getTabNameForItem()KnowbaseItem_KnowbaseItemCategory::showForItem()-
KnowbaseItemTranslation::canBeTranslated(). Translations are now always active. -
KnowbaseItemTranslation::isKbTranslationActive(). Translations are now always active. Link::showForItem()Link_Itemtype::showForLink()MailCollector::isMessageSentByGlpi()MailCollector::listEncodings()MailCollector::title()MassiveAction::updateProgressBars()ManualLink::showForItem()-
MigrationCleanerclass -
Netpointclass NetworkAlias::getInternetNameFromID()NetworkName::getInternetNameFromID()NetworkPort::getAvailableDisplayOptions()NetworkPort::getNetworkPortInstantiationsWithNames()NetworkPort::getUnmanagedLink()NetworkPort::resetConnections()NetworkPortInstantiation::getGlobalInstantiationNetworkPortDisplayOptions()-
NetworkPortInstantiation::getInstantiationHTMLTable()and all sub classes overrides. -
NetworkPortInstantiation::getInstantiationHTMLTableHeaders()and all sub classes overrides. NetworkPortInstantiation::getInstantiationHTMLTableWithPeer()NetworkPortInstantiation::getInstantiationNetworkPortDisplayOptions()NetworkPortInstantiation::getInstantiationNetworkPortHTMLTable()-
NetworkPortInstantiation::getPeerInstantiationHTMLTable()and all sub classes overrides. -
NetworkPortMigrationclass NotificationEvent::debugEvent()NotificationTemplateTranslation::showDebug()-
OlaLevel::showForSLA(). Replaced byLevelAgreementLevel::showForLA(). PlanningExternalEvent::addVisibilityRestrict()PlanningRecall::specificForm()Plugin::haveImport()Plugin::migrateItemType()Plugin::unactivateAll()ProfileRight::updateProfileRightAsOtherRight()ProfileRight::updateProfileRightsAsOtherRights()Project::commonListHeader()Project::showDebug()Project::showShort()ProjectTask::showDebug()-
QuerySubQueryclass. Replaced byGlpi\DBAL\QuerySubQuery. -
QueryUnionclass. Replaced byGlpi\DBAL\QueryUnion. QueuedNotification::forceSendFor()Reminder::addVisibilityJoins()-
ReminderTranslation::canBeTranslated(). Translations are now always active. -
ReminderTranslation::isReminderTranslationActive(). Translations are now always active. Reservation::displayError()ReservationItem::showDebugResa()RSSFeed::addVisibilityJoins()RSSFeed::addVisibilityRestrict()RSSFeed::showDiscoveredFeeds()-
Rule::$can_sortproperty. -
Rule::$orderbyproperty. Rule::getCollectionClassName()Rule::showDebug()Rule::showMinimalActionForm()Rule::showMinimalCriteriaForm()Rule::showMinimalForm()Rule::showNewRuleForm()RuleCollection::showTestResults()RuleRight::showNewRuleForm()RuleRightCollection::displayActionByName()RuleRightCollection::showTestResults()-
RuleImportComputerclass. -
RuleImportComputerCollectionclass. -
RuleMatchedLog::showFormAgent(). -
RuleMatchedLog::showItemForm(). SavedSearch::prepareQueryToUse()-
Search::SYLK_OUTPUTconstant. Search::computeTitle()Search::csv_clean()Search::findCriteriaInSession()Search::getDefaultCriteria()Search::getLogicalOperators()Search::getMetaReferenceItemtype()Search::outputData()Search::sylk_clean()Session::buildSessionName()Session::redirectIfNotLoggedIn()Session::redirectToLogin()-
SlaLevel::showForSLA(). Replaced byLevelAgreementLevel::showForLA(). SLM::setTicketCalendar()SoftwareLicense::getSonsOf()SoftwareLicense::showDebug()-
Transfer::$inittypeproperty. Ticket::canDelegateeCreateTicket()Ticket::showDebug()Ticket::showFormHelpdesk()Ticket::showFormHelpdeskObserver()Ticket_Ticket::checkParentSon()Ticket_Ticket::countOpenChildren()-
Ticket_Ticket::manageLinkedTicketsOnSolved(). Replaced byCommonITILObject_CommonITILObject::manageLinksOnChange(). TicketTemplate::showHelpdeskPreview()Toolbox::canUseCas()Toolbox::checkValidReferer()Toolbox::clean_cross_side_scripting_deep()Toolbox::endsWith()Toolbox::filesizeDirectory()Toolbox::getHtmLawedSafeConfig()Toolbox::getHtmlToDisplay()Toolbox::handleProfileChangeRedirect()Toolbox::logError()Toolbox::logNotice()Toolbox::logSqlDebug()Toolbox::logSqlError()Toolbox::logSqlWarning()Toolbox::logWarning()Toolbox::showMailServerConfig()Toolbox::sodiumDecrypt()Toolbox::sodiumEncrypt()Toolbox::unclean_cross_side_scripting_deep()Transfer::manageConnectionComputer()Update::initSession()User::getDelegateGroupsForUser()User::showDebug()User::title()-
XMLclass. - Usage of
Search::addOrderBysignature with ($itemtype, $ID, $order) parameters - Javascript file upload functions
dataURItoBlob,extractSrcFromImgTag,insertImgFromFile(),insertImageInTinyMCE,isImageBlobFromPaste,isImageFromPaste. -
CommonDBTM::$fkfieldproperty. -
getHTMLaction forajax/fuzzysearch.phpendpoint. -
DisplayPreference::showFormGlobaltargetparameter. -
DisplayPreference::showFormPersotarget_idparameter. -
$_SESSION['glpiroot']session variable. -
$DEBUG_SQL,SQL\_TOTAL\_REQUEST`, `TIMER_DEBUGand$TIMER` global variables. -
$CFG_GLPI['debug_sql']and$CFG_GLPI['debug_vars']configuration options. -
addgroupanddeletegroupactions infront/user.form.php. -
ajax/ldapdaterestriction.phpscript. -
ajax/ticketassigninformation.phpscript. Useajax/actorinformation.phpinstead. -
ajax/planningcheck.phpscript. UsePlanning::showPlanningCheck()instead. -
test_ldapandtest_ldap_replicateactions infront/authldap.form.php. Useajax/ldap.phpinstead. -
ajax/ticketsatisfaction.phpandajax/changesatisfaction.phpscripts. Accessajax/commonitilsatisfaction.phpdirectly instead. - Usage of the
$cutparameter informatUserName()andDbUtils::formatUserName(). - Handling of the
delegateright inUser::getSqlSearchResult(). - Usage of the
$linkand$nameparameters inAuth::getMethodName().
v10.0.22
Added
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed
v10.0.21
Added
Changed
- It is again possible to "Merge as Followup" into resolved/closed tickets.
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed
Configuration
- If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Edited by AKorezin Renovate