Py-glpi

Latest version: v0.1.2

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

11.0.0

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).
- 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 less 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).

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.

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.

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.
- 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.
- `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\Application\ErrorHandler` constructor visibility has been changed to private.
- `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['PATH_INFO']`, `$_SERVER['SCRIPT_FILENAME'] and `$_SERVER['SCRIPT_NAME']` will no longer contain the path to the requested script, but will contain the path 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.

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 `MAIL_SMTPSSL` and `MAIL_SMTPTLS` constants.
- `$AJAX_INCLUDE` global variable usage. Use `$this->setAjax()` in legacy `/ajax/` and `/front` scripts or `Html::setAjax()` and `Session::setAjax()`.
- 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.
- `Glpi\Application\View\Extension\DataHelpersExtension::getVerbatimValue()`
- `Glpi\Application\View\Extension\PluginExtension::getPluginWebDir()`
- `Glpi\Dashboard\Filter::getAll()`
- `Glpi\Http\Response::sendError()`. Throw a `Glpi\Exception\Http\*HttpException` exception instead.
- `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::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::displayRightError()`. Throw a `Glpi\Exception\Http\AccessDeniedHttpException` exception instead.
- `Html::entities_deep()`
- `Html::entity_decode_deep()`
- `Html::jsGetElementbyID()`
- `Html::jsGetDropdownValue()`
- `Html::jsSetDropdownValue()`
- `HookManager::enableCSRF()`
- `ITILFollowup::ADDMYTICKET` constant. Use `ITILFollowup::ADDMY`.
- `ITILFollowup::ADDGROUPTICKET` constant. Use `ITILFollowup::ADD_AS_GROUP`.
- `ITILFollowup::ADDALLTICKET` constant. Use `ITILFollowup::ADDALLITEM`.
- `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::stripslashes_deep()`

Removed
- `GLPI_USE_CSRF_CHECK`, `GLPI_USE_IDOR_CHECK`, `GLPI_CSRF_EXPIRES`, `GLPI_CSRF_MAX_TOKENS` and `GLPI_IDOR_EXPIRES` constants.
- `GLPI_DEMO_MODE` constant.
- `GLPI_DUMP_DIR` constant.
- `GLPI_SQL_DEBUG` constant.
- `$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()`
- `AuthLDAP::ldapChooseDirectory()`
- `AuthLDAP::displayLdapFilter()`
- `AuthLDAP::dropdownUserDeletedActions()`
- `AuthLDAP::dropdownUserRestoredActions()`
- `AuthLDAP::getLdapDeletedUserActionOptions()`
- `AuthLDAP::manageValuesInSession()`
- `AuthLDAP::showDateRestrictionForm()`
- `Cartridge::getNotificationParameters()`
- `CartridgeItem::showDebug()`
- `Certificate::showDebug()`
- `Change::showDebug()`
- `Change_Item::showForChange()`
- `CommonDBTM::$deduplicate_queued_notifications` property.
- `CommonDBTM::getCacheKeyForFriendlyName()`
- `CommonDBTM::getSNMPCredential()`
- `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::isValidator()`
- `CommonITILObject::showActorAddFormOnCreate()`
- `CommonITILValidation::alreadyExists()`
- `CommonITILValidation::getTicketStatusNumber()`
- `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::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::showDebug()`
- `GLPI::getErrorHandler()`
- `GLPI::getLogLevel()`
- `Glpi\Api\API::showDebug()`
- `Glpi\Api\API::returnSanitizedContent()`
- `Glpi\Application\ErrorHandler::handleSqlError()`
- `Glpi\Application\ErrorHandler::handleSqlWarnings()`
- `Glpi\Application\ErrorHandler::handleTwigError()`
- `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::jsConfirmCallback()`
- `Html::jsHide()`
- `Html::jsShow()`
- `Html::openArrowMassives()`
- `Html::showTimeField()`
- `Impact::buildNetwork()`
- `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::listEncodings()`
- `MailCollector::title()`
- `ManualLink::showForItem()`
- `MigrationCleaner` class
- `Netpoint` class
- `NetworkAlias::getInternetNameFromID()`
- `NetworkName::getInternetNameFromID()`
- `NetworkPort::getAvailableDisplayOptions()`
- `NetworkPort::getNetworkPortInstantiationsWithNames()`
- `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::migrateItemType()`
- `ProfileRight::updateProfileRightAsOtherRight()`
- `ProfileRight::updateProfileRightsAsOtherRights()`
- `Project::showDebug()`
- `ProjectTask::showDebug()`
- `QuerySubQuery` class. Replaced by `Glpi\DBAL\QuerySubQuery`.
- `QueryUnion` class. Replaced by `Glpi\DBAL\QueryUnion`.
- `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::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()`
- `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_DEBUG` and `$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()`.

10.0.18

Added

Changed

Deprecated

Removed

API changes

Added

Changes

Deprecated

Removed

10.0.17

Added

Changed
- Searching IDs in dropdowns now matches the beginning of the ID instead of anywhere in the ID.

Deprecated

Removed

API changes

Added

- `NotificationTarget::canNotificationContentBeDisclosed()` method that can be overriden to indicates whether a notification contents should be undisclosed.

Changes

Deprecated

Removed

10.0.16

Added

Changed

Deprecated

Removed

API changes

Added

Changes

Deprecated

Removed

10.0.15

Added

Changed

Deprecated

Removed

API changes

Added

Changes

Deprecated

Removed

10.0.14

Added

Changed

Deprecated

Removed

API changes

Added

Changes

Deprecated

Removed

Page 1 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.