CHANGELOG.md 21.6 KB
Newer Older
Johan Cwiklinski's avatar
Johan Cwiklinski committed
1
2
3
4
5
# GLPI changes

The present file will list all changes made to the project; according to the
[Keep a Changelog](http://keepachangelog.com/) project.

6
7
## [9.5] unreleased

Johan Cwiklinski's avatar
Johan Cwiklinski committed
8
### Added
9

10
11
12
- Encrypted file systems support.
- Mails collected from suppliers can be marked as private on an entity basis.
- Ability to add custom CSS in entity configuration.
13
- CLI commands to enable and disable maintenance mode.
14
- Operating system links on Monitors, Peripherals, Phones and Printers.
15
- Add datacenter items to global search
16
- Project task search options for Projects
17

18
19
20
### Changed

- `scripts/migrations/racks_plugin.php` has been replaced by `glpi:migration:racks_plugin_to_core` command available using `bin/console`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

### API changes

#### Deprecated

- `DBMysql::fetch_array()`
- `DBMysql::fetch_row()`
- `DBMysql::fetch_assoc()`
- `DBMysql::fetch_object()`
- `DBMysql::data_seek()`
- `DBMysql::insert_id()`
- `DBMysql::num_fields()`
- `DBMysql::field_name()`
- `DBMysql::list_fields()`
- `DBMysql::affected_rows()`
- `DBMysql::free_result()`
- `DBMysql::isMySQLStrictMode()`
38
39
- `getAllDatasFromTable` renamed to `getAllDataFromTable()`
- Usage of `$order` parameter in `getAllDataFromTable()` (`DbUtils::getAllDataFromTable()`)
40
41
- All `TicketTemplate` classes has been renamed to `ITILTemplate`
- `Ticket::getTicketTemplateToUse()` renamed to `Ticket::getITILTemplateToUse()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
42

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#### Removed

- Usage of string `$condition` parameter in `CommonDBTM::find()`
- Usage of string `$condition` parameter in `Dropdown::addNewCondition()`
- Usage of string in `$option['condition']` parameter in `Dropdown::show()`
- `KnowbaseItemCategory::showFirstLevel()`
- `Ticket::getTicketActors()`
- `NotificationTarget::getProfileJoinSql()`
- `NotificationTarget::getDistinctUserSql()`
- `NotificationTargetCommonITILObject::getProfileJoinSql()`
- `RuleCollection::getRuleListQuery()`
- `getNextItem()`
- `getPreviousItem()`
- `CommonDBChild::getSQLRequestToSearchForItem()`
- `CommonDBConnexity::getSQLRequestToSearchForItem()`
- `CommonDBRelation::getSQLRequestToSearchForItem()`
- `Project::addVisibility()`
- `Project::addVisibilityJoins()`
61
62
63
64
- `Plugin::hasBeenInit()`
- 'SELECT DISTINCT' and 'DISTINCT FIELDS' criteria in `DBmysqlIterator::buildQuery()`
- `CommonDBTM::getTablesOf()`
- `CommonDBTM::getForeignKeyFieldsOf()`
65

66
67
## [9.4.3] unreleased

68
69
70
71
72
73
74
75
### API changes

#### Deprecated

The following methods have been deprecated:

- `Html::convertTagFromRichTextToImageTag()`

76
## [9.4.2] 2019-04-11
77
78
79
80
81
82
83
84
85
86
87

### API changes

#### Deprecated

The following methods have been deprecated:

- `CommonDBTM::getTablesOf()`
- `CommonDBTM::getForeignKeyFieldsOf()`

## [9.4.1] 2019-03-15
88

89
90
91
### API changes

#### Added
92
93

- new display hook `timeline_actions` to add new buttons to timeline forms
cconard96's avatar
cconard96 committed
94
- Ability to copy document links while merging tickets
95

96
97
98
99
100
#### Deprecated

The following methods have been deprecated:

- `Plugin::hasBeenInit()`
101
- Deprecate 'SELECT DISTINCT' and 'DISTINCT FIELDS' criteria in `DBmysqlIterator::buildQuery()`
102

103
104
105
106
107
#### Removed

- Drop `CommonITILObject::showSolutions()`.

## [9.4.0] 2019-02-11
Johan Cwiklinski's avatar
Johan Cwiklinski committed
108

109
### Added
cconard96's avatar
cconard96 committed
110

111
- Ability to link project with problems and tickets.
112
- Ability to specify creation and modification dates during CommonDBTM object add method
113
114
115
116
- Add followups to Changes and Problems.
- Add timeline to Changes and Problems.
- CLI console to centralize CLI commands.
- Search on devices from Printers and Network equipments.
117
118
- Ability to merge and split tickets.
- Search on devices from Printers and Network equipments.
119
- Ability to specify creation and modification dates during CommonDBTM object add method.
120

Johan Cwiklinski's avatar
Johan Cwiklinski committed
121
122
### Changed
- `license_id` field in `glpi_items_operatingsystems` table has been renamed to `licenseid`
123
124
125
126
127
128
- `olas_tto_id` field in `glpi_tickets` table has been renamed to `olas_id_tto`
- `olas_ttr_id` field in `glpi_tickets` table has been renamed to `olas_id_ttr`
- `ttr_olalevels_id` field in `glpi_tickets` table has been renamed to `olalevels_id_ttr`
- `slas_tto_id` field in `glpi_tickets` table has been renamed to `slas_id_tto`
- `slas_ttr_id` field in `glpi_tickets` table has been renamed to `slas_id_ttr`
- `ttr_slalevels_id` field in `glpi_tickets` table has been renamed to `slalevels_id_ttr`
129
- `scripts/add_creation_date.php` has been replaced by `glpi:migration:build_missing_timestamps` command available using `bin/console`
130
- `scripts/checkdb.php` has been replaced by `glpi:database:check` command available using `bin/console`
131
- `scripts/cliinstall.php` has been replaced by `glpi:database:install` command available using `bin/console`
132
- `scripts/cliupdate.php` has been replaced by `glpi:database:update` command available using `bin/console`
Cédric Anne's avatar
Cédric Anne committed
133
- `scripts/ldap_mass_sync.php` has been replaced by `glpi:ldap:synchronize_users` command available using `bin/console`
134
- `scripts/innodb_migration.php` has been replaced by `glpi:migration:myisam_to_innodb` command available using `bin/console`
135
- `scripts/unlock_tasks.php` has been replaced by `glpi:task:unlock` command available using `bin/console`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
136

Johan Cwiklinski's avatar
Johan Cwiklinski committed
137
138
### API changes

Cédric Anne's avatar
Cédric Anne committed
139
140
#### Changes
- Plugins are now loaded in ajax files.
Cédric Anne's avatar
Cédric Anne committed
141
- `TicketFollowup` has been replaced by `ITILFollowup`
142
143
144
145
146
- `$num` parameter has been removed from several `Search` class methods:
   - `addSelect()`,
   - `addOrderBy()`,
   - `addHaving()`,
   - `giveItem()`
147
- `NotificationTarget::getMode()` visibility is now `public`.
148
- Added `add_recipient_to_target` hook, triggered when a recipient is added to a notification.
Cédric Anne's avatar
Cédric Anne committed
149

150
151
152
#### Deprecated

- Remove `$CFG_GLPI['use_rich_text']` parameter. Will now be `true` per default.
153
154
- Remove `$CFG_GLPI['ticket_timeline']` parameter. Will now be `true` per default.
- Remove `$CFG_GLPI['ticket_timeline_keep_replaced_tabs']` parameter. Will now be `false` per default.
Cédric Anne's avatar
Cédric Anne committed
155
- Usage of `TicketFollowup` class has been deprecated.
156
157
158
- Usage of string `$condition` parameter in `CommonDBTM::find()` has been deprecated.
- Usage of string `$condition` parameter in `Dropdown::addNewCondition()` has been deprecated.
- Usage of string in `$option['condition']` parameter in `Dropdown::show()` has been deprecated.
Cédric Anne's avatar
Cédric Anne committed
159
160
161

The following methods have been deprecated:

162
- `KnowbaseItemCategory::showFirstLevel()`
Cédric Anne's avatar
Cédric Anne committed
163
164
165
166
- `Ticket::getTicketActors()`
- `Ticket::processMassiveActionsForOneItemtype()`
- `Ticket::showFormMassiveAction()`
- `Ticket::showMassiveActionsSubForm()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
167
168
- `NotificationTarget::getProfileJoinSql()`
- `NotificationTarget::getDistinctUserSql()`
169
- `NotificationTargetCommonITILObject::getProfileJoinSql()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
170
- `RuleCollection::getRuleListQuery()`
171
172
- `getNextItem()`
- `getPreviousItem()`
173
174
175
- `CommonDBChild::getSQLRequestToSearchForItem()`
- `CommonDBConnexity::getSQLRequestToSearchForItem()`
- `CommonDBRelation::getSQLRequestToSearchForItem()`
176
177
- `Project::addVisibility()`
- `Project::addVisibilityJoins()`
178

Johan Cwiklinski's avatar
Johan Cwiklinski committed
179
180
#### Removed

181
182
183
184
- Drop ability to use `JOIN` in `DBmysqlIterator::buildQuery()`
- Drop `NotificationTarget::datas` property
- Drop support of string `$filter` parameter in `Profileuser::getUserProfiles()`
- Drop support of string `$condition` parameter in `User::getFromDBbyEmail()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
185
186
187
188
189
190
191
- Drop support of string `$condition` parameter in `Group_User::getUserGroups()`
- Drop support of string `$condition` parameter in `Group_User::getGroupUsers()`
- Drop support of string `$condition` parameter in `countElementsInTable` (`DbUtils::countElementsInTable()`)
- Drop support of string `$condition` parameter in `countDistinctElementsInTable` (`DbUtils::countDistinctElementsInTable()`)
- Drop support of string `$condition` parameter in `countElementsInTableForMyEntities` (`DbUtils::countElementsInTableForMyEntities()`)
- Drop support of string `$condition` parameter in `countElementsInTableForEntity` (`DbUtils::countElementsInTableForEntity()`)
- Drop support of string `$condition` parameter in `getAllDatasFromTable` (`DbUtils::getAllDataFromTable()`)
Johan Cwiklinski's avatar
Johan Cwiklinski committed
192
- Drop ITIL Tasks, Followups and Solutions `showSummary()` and massive actions related methods that are replaced with timeline
Johan Cwiklinski's avatar
Johan Cwiklinski committed
193

Cédric Anne's avatar
Cédric Anne committed
194
- Drop class alias `Event` for `Glpi\Event`
195
- Drop `Zend\Loader\SplAutoloader` interface
Johan Cwiklinski's avatar
Johan Cwiklinski committed
196
- Drop all methods that have been deprecated in GLPI 9.2
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
  - `_e()`
  - `_ex()`
  - `FieldExists()`
  - `formatOutputWebLink()`
  - `TableExists()`
  - `CommonTreeDropodwn::recursiveCleanSonsAboveID()`
  - `DBMysql::optimize_tables()`
  - `NotificationTarget::addToAddressesList()`
  - `NotificationTarget::getAdditionalTargets()`
  - `NotificationTarget::getAddressesByGroup()`
  - `NotificationTarget::getAddressesByTarget()`
  - `NotificationTarget::getAdminAddress()`
  - `NotificationTarget::getEntityAdminAddress()`
  - `NotificationTarget::getItemAuthorAddress()`
  - `NotificationTarget::getItemGroupAddress()`
  - `NotificationTarget::getItemGroupSupervisorAddress()`
  - `NotificationTarget::getItemGroupTechInChargeAddress()`
  - `NotificationTarget::getItemGroupWithoutSupervisorAddress()`
  - `NotificationTarget::getItemOwnerAddress()`
  - `NotificationTarget::getItemTechnicianInChargeAddress()`
  - `NotificationTarget::getNotificationTargets()`
  - `NotificationTarget::getSpecificTargets()`
  - `NotificationTarget::getUserByField()`
  - `NotificationTarget::getUsersAddressesByProfile()`
  - `NotificationTargetCommonITILObject::getDatasForObject()`
  - `NotificationTargetCommonITILObject::getFollowupAuthor()`
  - `NotificationTargetCommonITILObject::getLinkedGroupByType()`
  - `NotificationTargetCommonITILObject::getLinkedGroupSupervisorByType()`
  - `NotificationTargetCommonITILObject::getLinkedGroupWithoutSupervisorByType()`
  - `NotificationTargetCommonITILObject::getLinkedUserByType()`
  - `NotificationTargetCommonITILObject::getOldAssignTechnicianAddress()`
  - `NotificationTargetCommonITILObject::getRecipientAddress()`
  - `NotificationTargetCommonITILObject::getSupplierAddress()`
  - `NotificationTargetCommonITILObject::getTaskAssignGroup()`
  - `NotificationTargetCommonITILObject::getTaskAssignUser()`
  - `NotificationTargetCommonITILObject::getTaskAuthor()`
  - `NotificationTargetCommonITILObject::getValidationApproverAddress()`
  - `NotificationTargetCommonITILObject::getValidationRequesterAddress()`
  - `NotificationTargetProjectTask::getTeamContacts()`
  - `NotificationTargetProjectTask::getTeamGroups()`
  - `NotificationTargetProjectTask::getTeamSuppliers()`
  - `NotificationTargetProjectTask::getTeamUsers()`
  - `QueuedNotification::sendMailById()`
  - `Ticket::convertContentForNotification()`
  - `User::getPersonalToken()`
  - `User::getUniquePersonalToken()`
243
- Drop all methods that have been deprecated in GLPI 9.3.0
244
245
246
  - `CommonDBTM::getFromDBByQuery()`
  - `CommonDBTM::getSearchOptions()`
  - `CommonDBTM::getSearchOptionsNew()`
247
  - `CommonDBTM::getSearchOptionsToAddNew()`
248
249
250
251
252
253
254
255
256
257
  - `CommonITILObject::getStatusIconURL()`
  - `DBMysql::list_tables()`
  - `Dropdown::showPrivatePublicSwitch()`
  - `NotificationTargetProjectTask::getTeamContacts()`
  - `NotificationTargetProjectTask::getTeamGroups()`
  - `NotificationTargetProjectTask::getTeamSuppliers()`
  - `NotificationTargetProjectTask::getTeamUsers()`
  - `Search::constructDatas()`
  - `Search::displayDatas()`
  - `Transfer::transferComputerDisks()`
258
259
260
261
- Drop all methods that have been deprecated in GLPI 9.3.1
  - `ComputerVirtualMachine::getUUIDRestrictRequest()`
  - `Config::getSQLMode()`
  - `DBMysql::checkForCrashedTables()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
262
263
264
  - `Html::checkAllAsCheckbox()`
  - `Html::scriptEnd()`
  - `Html::scriptStart()`
265
  - `Plugin::isAllPluginsCSRFCompliant()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
266
  - `Profile::getUnderActiveProfileRestrictRequest()`
267
268
  - `Toolbox::is_a()`
- Drop all constants that have been deprecated in GLPI 9.3.1
Cédric Anne's avatar
Cédric Anne committed
269
270
271
272
273
  - `CommonDBTM::ERROR_FIELDSIZE_EXCEEDED`
  - `CommonDBTM::HAS_DUPLICATE`
  - `CommonDBTM::NOTHING_TO_DO`
  - `CommonDBTM::SUCCESS`
  - `CommonDBTM::TYPE_MISMATCH`
274
275
- Drop all methods that have been deprecated in GLPI 9.3.2
 - `ITILSolution::removeForItem()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
276
 - `Session::isViewAllEntities()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
277

Johan Cwiklinski's avatar
Johan Cwiklinski committed
278
## [9.3.3] 2018-11-27
Johan Cwiklinski's avatar
Johan Cwiklinski committed
279

Johan Cwiklinski's avatar
Johan Cwiklinski committed
280
281
282
283
284
285
286
287
288
289
290
291
### Changed

- Fix some cache issues
- Fix reservation tab of an item
- Fix actors notifications massive action
- Improve racks plugins migration script

### API changes

No API changes.

## [9.3.2] 2018-10-26
292
293
294

### API changes

295
296
297
#### Changed

- `Rule::executePluginsActions()` signature has changed
298
- Javascript function `formatResult()` has been renamed to `templateResult()`
299

300
301
302
303
#### Deprecated

The following methods have been deprecated:

Johan Cwiklinski's avatar
Johan Cwiklinski committed
304
305
306
307
- `CommonITILTask::displayTabContentForItem()`
- `CommonITILTask::showFormMassiveAction()`
- `CommonITILTask::showSummary()`
- `ITILSolution::displayTabContentForItem()`
308
- `ITILSolution::removeForItem()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
309
- `ITILSolution::showSummary()`
310
- `Session::isViewAllEntities()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
311
312
313
314
- `TicketFollowup::processMassiveActionsForOneItemtype()`
- `TicketFollowup::showFormMassiveAction()`
- `TicketFollowup::showMassiveActionsSubForm()`
- `TicketFollowup::showSummary()`
315
- `Plugin::removeFromSession()`
316
317

## [9.3.1] 2018-09-12
Johan Cwiklinski's avatar
Johan Cwiklinski committed
318

Johan Cwiklinski's avatar
Johan Cwiklinski committed
319
320
321
### Added
- List receivers folders to choose imported/refused folders

Johan Cwiklinski's avatar
Johan Cwiklinski committed
322
323
324
325
### API changes

#### Deprecated

326
327
- Usage of string `$condition` parameter in `Group_User::getUserGroups()` has been deprecated
- Usage of string `$condition` parameter in `Group_User::getGroupUsers()` has been deprecated
328
329
330
331
332
- Usage of string `$condition` parameter in `countElementsInTable` (`DbUtils::countElementsInTable()`) has been deprecated
- Usage of string `$condition` parameter in `countDistinctElementsInTable` (`DbUtils::countDistinctElementsInTable()`) has been deprecated
- Usage of string `$condition` parameter in `countElementsInTableForMyEntities` (`DbUtils::countElementsInTableForMyEntities()`) has been deprecated
- Usage of string `$condition` parameter in `countElementsInTableForEntity` (`DbUtils::countElementsInTableForEntity()`) has been deprecated
- Usage of string `$condition` parameter in `getAllDatasFromTable` (`DbUtils::getAllDataFromTable()`) has been deprecated
333

Johan Cwiklinski's avatar
Johan Cwiklinski committed
334
335
The following methods have been deprecated:

336
- `Config::getSQLMode()`
337
- `DBMysql::checkForCrashedTables()`
338
- `Html::checkAllAsCheckbox()`
339
340
- `Html::scriptEnd()`
- `Html::scriptStart()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
341
- `Toolbox::is_a()`
342
- `ComputerVirtualMachine::getUUIDRestrictRequest()`
343
344
- `Plugin::isAllPluginsCSRFCompliant()`
- `Profile::getUnderActiveProfileRestrictRequest()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
345

346
347
348
349
350
351
352
The following constants have been deprecated:
- `CommonDBTM::ERROR_FIELDSIZE_EXCEEDED`
- `CommonDBTM::HAS_DUPLICATE`
- `CommonDBTM::NOTHING_TO_DO`
- `CommonDBTM::SUCCESS`
- `CommonDBTM::TYPE_MISMATCH`

353
## [9.3.0] 2018-06-28
Johan Cwiklinski's avatar
Johan Cwiklinski committed
354
355
356
357
358
359
360

### Added
- Add DCIM management
- Add OSM view to set locations and on Search
- Add login source selection
- Add logs purge
- Filter in items logs
361
362

### Changed
Johan Cwiklinski's avatar
Johan Cwiklinski committed
363
- Switch MySQL engine from MyIsam to Innodb
364
- Rework solutions for Tickets, Problems and Changes to support history
Johan Cwiklinski's avatar
Johan Cwiklinski committed
365
- Disks can be attached to network equipments and printers
366
367
368
369

### API changes

#### Changes
370
- Added `DB::insert()`, `DB::update()` and `DB::delete()` to replace raw SQL queries
371
- `CommonITILObject::showMassiveSolutionForm()` now takes a `CommonITILObject` as argument
372
373
- `Profileuser::getUserProfiles()` `$filter` parameter is now an array
- `User::getFromDBbyEmail()` `$condition` parameter is now an array
374
- Select2 javascript component has been upgraded to 4.0 version, see [Migrating from Select2 3.5](https://select2.org/upgrading/migrating-from-35)
375
- `CommonDevice::getItem_DeviceType()` has a new optional `$devicetype` parameter
376
377
378

#### Deprecated

379
380
381
- Usage of string `$filter` parameter in `Profileuser::getUserProfiles()` has been deprecated
- Usage of string `$condition` parameter in `User::getFromDBbyEmail()` has been deprecated

382
383
The following methods have been deprecated:

384
- `CommonDBTM::getFromDBByQuery()`
385
386
387
388
389
390
- `CommonDBTM::getSearchOptions()`
- `CommonDBTM::getSearchOptionsNew()`
- `CommonDBTM::getSearchOptionsToAddNew()`
- `CommonITILObject::getStatusIconURL()`
- `DBMysql::list_tables()`
- `Dropdown::showPrivatePublicSwitch()`
391
392
393
394
- `NotificationTargetProject::getTeamContacts()`
- `NotificationTargetProject::getTeamGroups()`
- `NotificationTargetProject::getTeamSuppliers()`
- `NotificationTargetProject::getTeamUsers()`
395
396
397
- `Search::constructDatas()`
- `Search::displayDatas()`
- `Transfer::transferComputerDisks()`
398

399
400
401
402
#### Removed

- `CommonITILValidation::isAllValidationsHaveSameStatusForTicket`
- `CommonITILValidation::getNumberValidationForTicket`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
403
404
405
- PHPCas library is no longer provided (for licensing issues)

## [9.2.4] 2018-06-21
406

Johan Cwiklinski's avatar
Johan Cwiklinski committed
407
## [9.2.3] 2018-04-27
408

Johan Cwiklinski's avatar
Johan Cwiklinski committed
409
## [9.2.2] 2018-03-01
410

Johan Cwiklinski's avatar
Johan Cwiklinski committed
411

412
413
414
415
416
### Deprecated

- `CommonITILValidation::isAllValidationsHaveSameStatusForTicket`
- `CommonITILValidation::getNumberValidationForTicket`
- `DBMysql::optimize_tables()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
417

Johan Cwiklinski's avatar
Johan Cwiklinski committed
418
## [9.2.1] 2017-11-16
419
420

### Added
421

422
423
- Search engine, added ``itemtype_item_revert`` jointype

424
425
426
427
### Deprecated

- `Ticket::convertContentForNotification()`

428
## [9.2] 2017-09-25
Johan Cwiklinski's avatar
Johan Cwiklinski committed
429
430
431
432
433

### Added
- Link knowledge base entries with assets or tickets
- Revisions on knowledge base entries and their translations, with diff view
- Add recursive comments on knowledge base entries
434
- Direct links to KB article's title for a direct access
435
- Load minified CSS and JS files (core and plugins) that are generated on release
Johan Cwiklinski's avatar
Johan Cwiklinski committed
436
- Link beetween software licenses
Johan Cwiklinski's avatar
Johan Cwiklinski committed
437
- Alerts on saved searches
Johan Cwiklinski's avatar
Johan Cwiklinski committed
438
439
- Add ajax browsers notifications in addition to emails
- Plugins can now add new notifications types (xmpp, sms, telegram, ...) to be used along with standard notifications
Thierry Bugier Pineau's avatar
Thierry Bugier Pineau committed
440
- Simcard component
Johan Cwiklinski's avatar
Johan Cwiklinski committed
441
- Synchronization field for LDAP
442
443
444
445
446
447
448
449
450
451
- Improved performances on large entities databases
- Remember me on login
- Fuzzy search
- Paste images in rich text editor
- Add tasks in tickets templates
- Composite tickets (link on sons/parents)
- Telemetry
- Certificates component
- Firmwares components (BIOSes, firwmwares, ...)
- Add OLA management
Johan Cwiklinski's avatar
Johan Cwiklinski committed
452
453

### Changed
454
- Many bugs have been fixed
Johan Cwiklinski's avatar
Johan Cwiklinski committed
455
456
- Display knowledge base category items in tickets using a popup instead of a
new whole window
457
- Reviewed all richtext editor (tinymce) and their upload parts, now more simpler and intuitive
458
- Don't ask user to select a template if there is no configured template
459
460
461
462
- personal_token is not used anymore for api authentication, a new api_token field has been added (empty by default, you should regenerate it)
- Operating systems management has been improved
- Direct language change from any page
- Better icons harmonization
Johan Cwiklinski's avatar
Johan Cwiklinski committed
463

464
465
### API changes

466
467
468
#### Changes

- `CommonDBTM::getTable()` signature has changed
469
- `User::getFromDBbyToken()` signature has changed
Johan Cwiklinski's avatar
Johan Cwiklinski committed
470
- `Bookmark` has been renamed to `SavedSearch`
471
- Update to latest jsTree plugin
472
- `RuleDictionnarySoftwareCollection::versionExists()` signature has changed
Johan Cwiklinski's avatar
Johan Cwiklinski committed
473
474
- `NotificationTemplate::getDataToSend()` signature has changed
- `QueuedMail` has been renamed to `QueuedNotification`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
475
- `CommonDBTM::mailqueueonaction()` has been renamed to `CommonDBTM::notificationqueueonaction()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
476
- `NotificationTarget::getSender()` no longer takes any parameters (was not used)
Johan Cwiklinski's avatar
Johan Cwiklinski committed
477
478
479
- `TableExists()` has been moved to `DBMysql::tableExists()`
- `FieldExists()` has been moved to `DBMysql::fieldExists()`
- `Profile_User::getUserEntitiesForRight()` signature has changed
Johan Cwiklinski's avatar
Johan Cwiklinski committed
480
- `NotificationTarget` property `datas` has been renamed to `data`
481

482
483
#### Deprecated

484
485
486
487
- Ability to use `JOIN` in `DBmysqlIterator::buildQuery()` has been deprecated
- Usage of `NotificationTarget::datas` property has been deprecated
- Usage of `Zend\Loader\SplAutoloader` interface has been deprecated

488
489
490
491
The following methods have been deprecated:

- `_e()`
- `_ex()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
492
493
- `Bookmark::mark_default()`
- `Bookmark::unmark_default()`
494
- `CommonTreeDropodwn::recursiveCleanSonsAboveID()`
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
- `NotificationTarget::addToAddressesList()`
- `NotificationTarget::getAdditionalTargets()`
- `NotificationTarget::getAddressesByGroup()`
- `NotificationTarget::getAddressesByTarget()`
- `NotificationTarget::getAdminAddress()`
- `NotificationTarget::getEntityAdminAddress()`
- `NotificationTarget::getItemAuthorAddress()`
- `NotificationTarget::getItemGroupAddress()`
- `NotificationTarget::getItemGroupSupervisorAddress()`
- `NotificationTarget::getItemGroupTechInChargeAddress()`
- `NotificationTarget::getItemGroupWithoutSupervisorAddress()`
- `NotificationTarget::getItemOwnerAddress()`
- `NotificationTarget::getItemTechnicianInChargeAddress()`
- `NotificationTarget::getNotificationTargets()`
- `NotificationTarget::getSpecificTargets()`
- `NotificationTarget::getUserByField()`
- `NotificationTarget::getUsersAddressesByProfile()`
- `NotificationTargetCommonITILObject::getDatasForObject()`
- `NotificationTargetCommonITILObject::getFollowupAuthor()`
- `NotificationTargetCommonITILObject::getLinkedGroupByType()`
- `NotificationTargetCommonITILObject::getLinkedGroupSupervisorByType()`
- `NotificationTargetCommonITILObject::getLinkedGroupWithoutSupervisorByType()`
- `NotificationTargetCommonITILObject::getLinkedUserByType()`
- `NotificationTargetCommonITILObject::getOldAssignTechnicianAddress()`
- `NotificationTargetCommonITILObject::getRecipientAddress()`
- `NotificationTargetCommonITILObject::getSupplierAddress()`
- `NotificationTargetCommonITILObject::getTaskAssignGroup()`
- `NotificationTargetCommonITILObject::getTaskAssignUser()`
- `NotificationTargetCommonITILObject::getTaskAuthor()`
- `NotificationTargetCommonITILObject::getValidationApproverAddress()`
- `NotificationTargetCommonITILObject::getValidationRequesterAddress()`
- `NotificationTargetProjectTask::getTeamContacts()`
- `NotificationTargetProjectTask::getTeamGroups()`
- `NotificationTargetProjectTask::getTeamSuppliers()`
- `NotificationTargetProjectTask::getTeamUsers()`
- `QueuedNotification::sendMailById()`
- `User::getPersonalToken()`
- `User::getUniquePersonalToken()`
533
- `formatOutputWebLink()`
534
535
536
537
538

#### Removals

The following methods have been dropped:

yllen's avatar
yllen committed
539
540
541
542
- `Ajax::displaySearchTextForDropdown()`
- `Ajax::getSearchTextForDropdown()`
- `Bookmark::changeBookmarkOrder()`
- `Bookmark::moveBookmark()`
543
544
545
546
- `CommonGLPI::addDivForTabs()`
- `CommonGLPI::showTabs()`
- `CommonGLPI::showNavigationHeaderOld()`
- `CommonGLPI::show()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
547
- `Dropdown::showInteger()`
548
- `DBMysql::field_flags()`
yllen's avatar
yllen committed
549
550
551
- `Html::showDateFormItem()`
- `Html::showDateTimeFormItem()`
- `Profile::dropdownNoneReadWrite()`
Johan Cwiklinski's avatar
Johan Cwiklinski committed
552
553
- `Toolbox::get_magic_quotes_runtime()`
- `Toolbox::get_magic_quotes_gpc()`
554
- `Dropdown::showAllItems()`
555

Johan Cwiklinski's avatar
Johan Cwiklinski committed
556
For older entries, please check [GLPI website](http://glpi-project.org).