Change record status: 
Introduced in branch: 

Drupal 6 and 7 have two functions to get a list of languages, locale_language_list() and language_list(). Drupal 8 merges these two to offer one simplified API. The signatures for these two functions in Drupal 7:

function locale_language_list($field = 'name', $all = FALSE)
function language_list($field = 'langcode')

Because the $field argument was rarely used and caused misunderstanding even in core at places which used the API, Drupal 8 removes that argument. The $all argument got moved to the language_list() function and was renamed to $only_enabled and defaults to FALSE (all languages are returned by default). So in short, the old behavior of the list of languages returned by language_list() is the same, but it can now be limited to enabled only as well. The new signature is therefore as follows:

function language_list($only_enabled = FALSE)

The function returns a list of objects in all cases.

Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other updates done