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

Compare Source

Added
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed

v11.0.3

Compare Source

Added
  • Support for setting a dropdown value like status for assets by using the id property (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

Compare Source

Added
  • Some missing readOnly flags 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, and source_of_item_id properties for the applicable Ticket, Change and Problem Task schemas in the High-Level API v2.1.
  • date, timeline_position, source_item_id, and source_of_item_id properties for the Followup schema in the High-Level API v2.1.
  • approver, approval_followup, date_creation, date_mod, and date_approval properties for the Solution schema in the High-Level API v2.1.
  • timeline_position property for the TicketValidation, ChangeValidation and Document_Item schemas in the High-Level API v2.1.
  • date_solve, date_close, and global_validation properties 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_profile and default_entity properties 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 completename and level properties for some schemas in High-Level API v2.1.
Changed
  • Fixed id property 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_power property in the PassiveDCEquipmentModel schema in High-Level API.
  • Invalid chipset property in the SystemboardModel schema in High-Level API.
  • Invalid date_creation and date_mod properties in the GenericDeviceType and SensorType schemas in High-Level API.
  • Invalid completename property in the TicketTemplate, ChangeTemplate, and ProblemTemplate schemas in High-Level API.
API changes
Added
Changes
Deprecated
  • Usage of MAIL_SMTPTLS mode for SMTP configuration.
Removed

v11.0.1

Compare Source

Added
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed

v11.0.0

Compare Source

Added
  • Business Rules for Changes
  • Business Rules for Problems
  • Configurable toast notification location
  • Link ITIL Object and Unlink ITIL Object massive 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.
  • alias and code fields 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/_log directory.
  • Custom palette/theme support (uses files/_themes directory by default).
  • Two-Factor Authentication (2FA) support via Time-based One-time Password (TOTP).
  • Deny login authorization 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.
  • ODS and XLS export 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 Group is now called Group 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 code was renamed to ITIL category from code.
  • The ticket business rule criteria Code representing the ticket category was renamed to Code representing the ITIL category.
  • The ticket business rule criteria Ticket location was renamed to Location.
  • 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 percentage instead of Free 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 filename and File content fields 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_Item class has been replaced by the \Glpi\Asset\Asset_PeripheralAsset class.
  • 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.php or bin/console will 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.
  • Group and Group in charge fields 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 header and To email header criteria in the mails receiver rules to From email address and To email address respectively.
  • 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 reservations action.
  • 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_ID and TICKETCATEGORY_NAME are deprecated and replaced by ITILCATEGORY_ID and ITILCATEGORY_NAME respectively.
Removed
  • XML-RPC API.
  • Link tickets massive action for Tickets (Use Link ITIL Object instead).
  • Link to a problem massive action for Tickets (Use Link ITIL Object instead).
  • 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.php and bin/console system:status no longer supports plain-text output.
  • Glpi\System\Status\StatusChecker::getServiceStatus() as_array parameter.
  • Sylk export of search results.
  • full_width_adapt_column option for fields macros has been removed.
  • Picture search option (ID 150) for Users.
API changes
Added
  • phpCAS library is now bundled in GLPI, to prevent version compatibility issues.
  • Glpi\DBAL\QueryFunction class 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_exclusion column added to glpi_notificationtargets table.
  • 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.
  • chartist library has been replaced by echarts.
  • codemirror library has been replaced by monaco-editor.
  • htmLawed library has been replaced by symfony/html-sanitizer.
  • monolog/monolog has been upgraded to version 3.3.
  • photoswipe library has been upgraded to version 5.x.
  • phpmailer/phpmailer library has been replaced by symfony/mailer.
  • true/punycode library has been removed.
  • Symfony libraries have been upgraded to version 6.0.
  • users_id_validate field in CommonITILValidation will now have a 0 value until someone approves or refuses the validation. Approval targets (who the approval is for) is now indicated by itemtype_target and items_id_target fields.
  • Notifications are not deduplicated anymore.
  • Notifications with Approver recipient have had this recipient replaced with the new Approval target recipient 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.
  • GLPIMailer mailer class does not extends anymore PHPMailer\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 from PHPMailer\PHPMailer\PHPMailer.
  • CommonGLPI::$othertabs static 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:XXX where XXX is the plugin key.
  • GLPI web root is now the /public directory and all web request to PHP scripts are proxified by public/index.php script.
  • Usage of DBmysql::query() and DBmysql::queryOrDie() method are prohibited to ensure that legacy unsafe DB are no more executed. Building and executing raw queries using DBmysql::request(), DBmysqlIterator::buildQuery() and DBmysqlIterator::execute() methods is also prohibited. To execute DB queries, either DBmysql::request() can be used to craft query using the GLPI query builder, or DBmysql::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 Html class no longer works. The ProgressIndicator JS module can be used as a replacement to display the progress of a process.
  • js/fuzzysearch.js replaced with FuzzySearch/Modal Vue component.
  • Html::fuzzySearch() replaced with Html::getMenuFuzzySearchList() function.
  • NotificationEvent::raiseEvent() signature cahnged. A new $trigger parameter has been added at 4th position, and $label is now the 5th parameter.
  • NotificationEventInterface::raise() has a new $trigger parameter.
  • QueryExpression class moved to Glpi\DBAL namespace.
  • QueryParam class moved to Glpi\DBAL namespace.
  • QuerySubQuery class moved to Glpi\DBAL namespace.
  • QueryUnion class moved to Glpi\DBAL namespace.
  • PrinterLog::getMetrics() method has been made final.
  • SavedSearch::showSaveButton() replaced with pages/tools/savedsearch/save_button.html.twig template.
  • showSystemInformations method for $CFG_GLPI['systeminformations_types'] types renamed to getSystemInformation and should return an array with a label and content.
  • DisplayPreference config form POST handling moved to ajax/displaypreference.php script. The front file is for displaying the tabs only.
  • Document::send() signature changed. The $context parameter has been removed.
  • title property of Kanban items must be text only. HTML no longer supported.
  • kanban:filter JS event now includes the columns in the event data. Filtering must set the _filtered_out property of cards to hide them instead of changing the elements in the DOM.
  • CommonITILActor::getActors() signature changed. The $items_id parameter must strictly be an integer.
  • The date_mod property for historical entries returned by Log::getHistoryData is no longer formatted based on the user's preferences.
  • Rule::dropdownRulesMatch() has been made protected.
  • ITILTemplateField::showForITILTemplate() method is no longer abstract.
  • CommonITILTask::getItilObjectItemType is now static.
  • The Item_Ticket$1 tab should be used in replacement of the Ticket$1 tab to display tickets associated with an item.
  • Specifying the ranking of a rule during add/update now triggers RuleCollection::moveRule to 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() and DBmysqlIterator::execute() methods signatures changed.
  • Some values for the $type parameters of several Stat methods 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::showNetworkCardField now outputs HTML for a flex form instead of a table.
  • CommonGLPI::can*() and CommonDBTM::can*() methods now have strict type hints for their parameters and return types.
  • Multiple methods in CommonDevice and sub-classes now have return types defined (classes that extends these must match the new method signatures).
  • templates/password_form.html.twig should no longer be used directly. Use templates/forgotpassword.html.twig, templates/updatepassword.html.twig or a custom template.
  • Usage of ajax/dropdownMassiveActionAddValidator.php and ajax/dropdownValidator.php now requires a validation_class parameter.
  • Usage of ajax/dropdownValidator.php with the users_id_validate parameter is no longer supported. Use items_id_target instead.
  • Glpi\Dashboard\Filters\AbstractFilter::field() method has been made protected.
  • Usage of CommonITILValidation::dropdownValidator() with the name and users_id_validate options are no longer supported. Use prefix and itemtype_target/items_id_target respectively instead.
  • The helper property 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.php and inc/define.php files have been removed and the inc/includes.php file 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() and Plugin::checkStates() methods signature changed. It is not anymore possible to exclude specific plugins.
  • In a HTTP request context $_SERVER variables, like PATH_INFO, PHP_SELF, SCRIPT_FILENAME and SCRIPT_NAME, will no longer refer to the requested script, but will refer to the public/index.php script.
  • Any class added to $CFG_GLPI['directconnect_types'] must now use the Glpi\Features\AssignableItem trait as multi-group support is required.
  • For assets, groups_id and groups_id_tech fields were changed from integers to arrays and are loaded into the fields array after getFromDB/getEmpty. If reading directly from the DB, you need to query the new linking table glpi_groups_items.
  • Group::getDataItems() signature changed. The two first parameters $types and $field were replaced by a unique boolean $tech parameter that is used to compute the $types and $field values automatically.
  • CartridgeItem::addCompatibleType() method is now static.
  • Rule::initRule() has been made final and non static and its signature changed.
  • Clonable::clone() and Clonable::cloneMultiple() methods now accept a $clone_as_template parameter to allow creating templates.
  • enable_partial_warnings option removed from SavedSearch::displayMine().
  • enable_partial_warnings option removed from SavedSearch::execute().
  • enable_partial_warnings option removed from SavedSearch::getMine().
  • Transfer class 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.
  • linkoption option has been removed from CommonDBTM::getLink().
  • comments and icon options have been removed from CommonDBTM::getName().
  • comments and icon options have been removed from CommonDBTM::getNameID().
  • The $keepDb parameter has been removed from Html::footer().
  • DBConnection::createMainConfig() signature changed. The $allow_myisam parameter has been removed.
  • DBConnection::createSlaveConnectionFile() signature changed. The $allow_myisam parameter has been removed.
  • DBmysql::$allow_myisam property has been removed.
  • Contract::getExpiredCriteria() renamed to Contract::getNotExpiredCriteria() to match the actual behavior.
  • Migration::updateRight() renamed to Migration::replaceRight().
  • Search::getOptions() no longer returns a reference.
  • The $target parameter has been removed from the AuthLDAP::showLdapGroups() method.
  • The $target parameter has been removed from the Rule::showRulePreviewCriteriasForm(), Rule::showRulePreviewResultsForm(), RuleCollection::showRulesEnginePreviewCriteriasForm(), and RuleCollection::showRulesEnginePreviewResultsForm() methods signature.
  • Hooks::SHOW_IN_TIMELINE/show_in_timeline plugin hook has been renamed to Hooks::TIMELINE_ITEMS/timeline_items.
  • Auth::getMethodName() now only returns the name without a link. Use Auth::getMethodLink() to get a HTML-safe link.
  • GLPI_STRICT_DEPRECATED constant is now know as GLPI_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_path parameter has been removed from the Dropdown::dropdownIcons() method.
  • The PLUGINS_DIRECTORIES constant has been renamed to GLPI_PLUGINS_DIRECTORIES.
  • Most of the Profile::show*() methods have been made private.
  • server parameter of User::changeAuthMethod() now defaults to '0' instead of '-1' which was an invalid value when using unsigned integers.
  • checkitem parameter of CommonDBTM::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 the isNewItem() method.
  • TinyMCE library is now loaded automatically on every page.
Deprecated
  • Usage of the /marketplace path for plugins URLs. All plugins URLs should now start with /plugins.
  • Usage of GLPI_PLUGINS_PATH javascript variable.
  • Usage of the GLPI_FORCE_MAIL constant.
  • Usage of MAIL_SMTPSSL mode for SMTP configuration.
  • Usage of name and users_id_validate parameter in ajax/dropdownValidator.php.
  • Usage of users_id_validate parameter in front/commonitilvalidation.form.php.
  • front/ticket_ticket.form.php script usage.
  • Usage of users_id_validate input in CommonITILObject.
  • Defining "users_id_validate" field without defining "itemtype_target"/"items_id_target" in "CommonITILValidation".
  • Usage of name and users_id_validate options in CommonITILValidation::dropdownValidator().
  • Usage of get_plugin_web_dir Twig function.
  • Usage of verbatim_value Twig filter.
  • js/Forms/FaIconSelector.js and therefore window.GLPI.Forms.FaIconSelector has been deprecated and replaced by js/modules/Form/WebIconSelector.js
  • linkuser_types, linkgroup_types, linkuser_tech_types, linkgroup_tech_types configuration entries have been merged in a unique assignable_types configuration entry.
  • Usage of the front/dropdown.common.php and the dropdown.common.form.php files. There is now a generic controller that will serve the search and form pages of any Dropdown class.
  • Usage of the $link parameter in formatUserName() and DbUtils::formatUserName(). Use formatUserLink() or DbUtils::formatUserLink() instead.
  • Usage of the $link parameter in getUserName() and DbUtils::getUserName(). Use getUserLink(), DbUtils::getUserLink(), or User::getInfoCard() instead.
  • Usage of the $withcomment parameter in getTreeValueCompleteName(), DbUtils::getTreeValueCompleteName() and Dropdown::getDropdownName(). Use Dropdown::getDropdownComments() instead.
  • Auth::getErr()
  • ComputerAntivirus has been deprecated and replaced by ItemAntivirus
  • ComputerVirtualMachine has been deprecated and replaced by ItemVirtualMachine
  • DBmysql::deleteOrDie(). Use DBmysql::delete() instead.
  • DBmysql::doQueryOrDie(). Use DBmysql::doQuery() instead.
  • DBmysql::insertOrDie(). Use DBmysql::insert() instead.
  • DBmysql::truncate()
  • DBmysql::truncateOrDie()
  • DBmysql::updateOrDie(). Use DBmysql::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 a Glpi\Exception\Http\*HttpException exception 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 a Glpi\Exception\Http\BadRequestHttpException exception instead.
  • Html::displayNotFoundError(). Throw a Glpi\Exception\Http\NotFoundHttpException exception instead.
  • Html::displayProgressBar()
  • Html::displayRightError(). Throw a Glpi\Exception\Http\AccessDeniedHttpException exception instead.
  • Html::entities_deep()
  • Html::entity_decode_deep()
  • Html::glpi_flush()
  • Html::jsGetElementbyID()
  • Html::jsGetDropdownValue()
  • Html::jsSetDropdownValue()
  • Html::progressBar()
  • HookManager::enableCSRF()
  • ITILFollowup::ADDMYTICKET constant. Use ITILFollowup::ADDMY.
  • ITILFollowup::ADDGROUPTICKET constant. Use ITILFollowup::ADD_AS_GROUP.
  • ITILFollowup::ADDALLTICKET constant. Use ITILFollowup::ADDALLITEM.
  • Migration::addNewMessageArea()
  • Migration::displayError()
  • Migration::displayTitle()
  • Migration::displayWarning()
  • Migration::setOutputHandler()
  • Pdu_Plug has been deprecated and replaced by Item_Plug
  • Plugin::getWebDir()
  • Search::joinDropdownTranslations()
  • Ticket link_to_problem massive action is deprecated. Use CommonITILObject_CommonITILObject add massive action instead.
  • Ticket_Ticket add massive action is deprecated. Use CommonITILObject_CommonITILObject add massive action instead.
  • Ticket_Ticket::getLinkedTicketsTo()
  • Timer class
  • 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_TOKENS and GLPI_IDOR_EXPIRES constants.
  • GLPI_DEMO_MODE constant.
  • GLPI_DUMP_DIR constant.
  • GLPI_SQL_DEBUG constant.
  • $AJAX_INCLUDE global variable.
  • $CFG_GLPI_PLUGINS global variable.
  • $DBCONNECTION_REQUIRED and $USEDBREPLICATE global variables. Use DBConnection::getReadConnection() to get the most apporpriate connection for read only operations.
  • $dont_check_maintenance_mode and $skip_db_check global variables.
  • $GLPI global variable.
  • $LANG global variable.
  • $PLUGINS_EXCLUDED and $PLUGINS_INCLUDED global variables.
  • $SECURITY_STRATEGY global variable.
  • $SQLLOGGER global variable
  • Usage of $CFG_GLPI['itemdevices'] and $CFG_GLPI['item_device_types'] configuration entries. Use Item_Devices::getDeviceTypes() to get the Item_Devices concrete class list.
  • Usage of csrf_compliant plugins hook.
  • Usage of migratetypes plugin hooks.
  • Usage of planning_scheduler_key plugins hook.
  • Logging within the mail-debug.log log file.
  • X-GLPI-Sanitized-Content REST API header support.
  • Handling of encoded/escaped value in autoName().
  • closeDBConnections
  • regenerateTreeCompleteName()
  • 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_notifications property.
  • CommonDBTM::cleanLockedsOnAdd()
  • CommonDBTM::getCacheKeyForFriendlyName()
  • CommonDBTM::getSNMPCredential()
  • CommonDBTM::hasSavedInput()
  • CommonDBTM::showDebugInfo()
  • CommonDevice::title()
  • CommonDropdown::$first_level_menu, CommonDropdown::$second_level_menu and CommonDropdown::$third_level_menu properties.
  • CommonDropdown::displayHeader()
  • CommonGLPI::$type property.
  • CommonGLPI::getAvailableDisplayOptions()
  • CommonGLPI::getDisplayOptions()
  • CommonGLPI::getDisplayOptionsLink()
  • CommonGLPI::updateDisplayOptions()
  • CommonGLPI::showDislayOptions()
  • CommonITILActor::showUserNotificationForm()
  • CommonITILActor::showSupplierNotificationForm()
  • CommonITILObject::$userentity_oncreate property.
  • 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::error property.
  • 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\ErrorHandler class
  • Glpi\Cache\CacheManager::getInstallerCacheInstance()
  • Glpi\Console\Command\ForceNoPluginsOptionCommandInterface class
  • 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\Toolbar class
  • 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\DataDirectoriesProtectedPath class.
  • Glpi\System\Requirement\ProtectedWebAccess class.
  • Glpi\System\Requirement\MysqliMysqlnd class.
  • Glpi\System\Requirement\SafeDocumentRoot class.
  • Glpi\System\Status\StatusChecker::getFullStatus()
  • Group::title()
  • Group_User is_userdelegate field.
  • Html::autocompletionTextField()
  • Html::clean()
  • Html::closeArrowMassives()
  • Html::displayAccessDeniedPage()
  • Html::displayAjaxMessageAfterRedirect(). The JS function is already provided by js/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()
  • MigrationCleaner class
  • Netpoint class
  • 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.
  • NetworkPortMigration class
  • NotificationEvent::debugEvent()
  • NotificationTemplateTranslation::showDebug()
  • OlaLevel::showForSLA(). Replaced by LevelAgreementLevel::showForLA().
  • PlanningExternalEvent::addVisibilityRestrict()
  • PlanningRecall::specificForm()
  • Plugin::haveImport()
  • Plugin::migrateItemType()
  • Plugin::unactivateAll()
  • ProfileRight::updateProfileRightAsOtherRight()
  • ProfileRight::updateProfileRightsAsOtherRights()
  • Project::commonListHeader()
  • Project::showDebug()
  • Project::showShort()
  • ProjectTask::showDebug()
  • QuerySubQuery class. Replaced by Glpi\DBAL\QuerySubQuery.
  • QueryUnion class. Replaced by Glpi\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_sort property.
  • Rule::$orderby property.
  • Rule::getCollectionClassName()
  • Rule::showDebug()
  • Rule::showMinimalActionForm()
  • Rule::showMinimalCriteriaForm()
  • Rule::showMinimalForm()
  • Rule::showNewRuleForm()
  • RuleCollection::showTestResults()
  • RuleRight::showNewRuleForm()
  • RuleRightCollection::displayActionByName()
  • RuleRightCollection::showTestResults()
  • RuleImportComputer class.
  • RuleImportComputerCollection class.
  • RuleMatchedLog::showFormAgent().
  • RuleMatchedLog::showItemForm().
  • SavedSearch::prepareQueryToUse()
  • Search::SYLK_OUTPUT constant.
  • 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 by LevelAgreementLevel::showForLA().
  • SLM::setTicketCalendar()
  • SoftwareLicense::getSonsOf()
  • SoftwareLicense::showDebug()
  • Transfer::$inittype property.
  • Ticket::canDelegateeCreateTicket()
  • Ticket::showDebug()
  • Ticket::showFormHelpdesk()
  • Ticket::showFormHelpdeskObserver()
  • Ticket_Ticket::checkParentSon()
  • Ticket_Ticket::countOpenChildren()
  • Ticket_Ticket::manageLinkedTicketsOnSolved(). Replaced by CommonITILObject_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()
  • XML class.
  • Usage of Search::addOrderBy signature with ($itemtype, $ID, $order) parameters
  • Javascript file upload functions dataURItoBlob, extractSrcFromImgTag, insertImgFromFile(), insertImageInTinyMCE, isImageBlobFromPaste, isImageFromPaste.
  • CommonDBTM::$fkfield property.
  • getHTML action for ajax/fuzzysearch.php endpoint.
  • DisplayPreference::showFormGlobal target parameter.
  • DisplayPreference::showFormPerso target_id parameter.
  • $_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.
  • addgroup and deletegroup actions in front/user.form.php.
  • ajax/ldapdaterestriction.php script.
  • ajax/ticketassigninformation.php script. Use ajax/actorinformation.php instead.
  • ajax/planningcheck.php script. Use Planning::showPlanningCheck() instead.
  • test_ldap and test_ldap_replicate actions in front/authldap.form.php. Use ajax/ldap.php instead.
  • ajax/ticketsatisfaction.php and ajax/changesatisfaction.php scripts. Access ajax/commonitilsatisfaction.php directly instead.
  • Usage of the $cut parameter in formatUserName() and DbUtils::formatUserName().
  • Handling of the delegate right in User::getSqlSearchResult().
  • Usage of the $link and $name parameters in Auth::getMethodName().

v10.0.22

Compare Source

Added
Changed
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed

v10.0.21

Compare Source

Added
Changed
  • It is again possible to "Merge as Followup" into resolved/closed tickets.
Deprecated
Removed
API changes
Added
Changes
Deprecated
Removed

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by AKorezin Renovate

Merge request reports

Loading