Updated: Comment #0

Problem/Motivation

#2187735: Add removal information to docblock of all @deprecated functions ensured that most @deprecated functions were marked "will be removed before Drupal 8.0". Now we just need to live up to that promise.

Proposed resolution

Remove the functions, first by removing uses of the functions, then later by removing the functions themselves.

Search the code base for @deprecated to confirm that this issue has been resolved. Our aim is that no functions will be marked @deprecated unless they are in a vendor directory (i.e. not code that we should modify).

Beta policy

Non-disruptive patches for this issues will be accepted during beta, based on the rules defined in https://www.drupal.org/core/beta-changes. Patches are likely to be considered too disruptive if they change a large number of files, as these will cause many other, more important, patches to require rerolls.

Remaining tasks

Remove uses of the functions, then later remove the functions. Many issues below are already "needs review". You can help us most by reviewing those issues so they can be committed.

All removal issues should have the @deprecated tag. This is tagged "revisit before release candidate" so that we know how much of a problem this is come release candidate time, but we can easily slip that to "revisit before release".

git grep --after-context 8 '@deprecated' | grep "function " | grep -v 'vendor' | rev | cut -c 2- | rev

Then a little bit of clean for a total of 196 deprecated functions:

Drupal/Core/Routing/UrlGeneratorInterface.php public generateFromPath($path = NULL, $options = array()) #2367749: Remove usage of deprecated UrlGeneratorInterface::generateFromPath() Remove function
Drupal/Core/Routing/UrlGeneratorInterface.php public getPathFromRoute($name, $parameters = array()) #2307061: UrlGeneratorInterface::getPathFromRoute() is marked deprecated but will not be removed, so update the docs Remove function
Drupal/Core/Url.php public getInternalPath() #2367753: \Drupal\Core\Url::getInternalPath() cannot be deprecated Remove function
views/views.module views_plugin_list() Already done #2306545: Remove views_plugin_list()
bootstrap.inc conf_path($require_settings = TRUE, $reset = FALSE, Request $request = NULL) #2384675: Deprecate conf_path() #2457469: Remove usages of conf_path()
Entity/Sql/SqlContentEntityStorage.php setEntityType() #2274017: Make SqlContentEntityStorage table mapping agnostic
lib/Drupal/Component/Utility/SafeMarkup.php checkPlain #2545972: Remove all code usages SafeMarkup::checkPlain() and rely more on Twig autoescaping
common.inc _drupal_add_html_head, drupal_get_html_head, _drupal_add_html_head_link #2477223: Refactor _drupal_add_html_head, drupal_get_html_head, _drupal_add_html_head_link into the attachments processor, remove from common.inc.
common.inc drupal_merge_attached #2452475: Remove deprecated function drupal_merge_attached() and its references Remove function
modules/user/user.modile user_format_name #2311219: Fix hook_user_format_name_alter() documentation and stop referring to user_format_name() #2495301: Deprecate user_format_name() and the label_callback for 9.x (not 8.x)

Many more issues were covered by #2225347: [META] Replace calls to ENTITY_TYPE_load() and ENTITY_TYPE_load_multiple() with static method calls

User interface changes

None

API changes

Several API functions removed.
No @deprecated API functions remaining.

Beta phase evaluation

Reference: https://www.drupal.org/core/beta-changes
Issue category Task. Work must be done to remove all @deprecated code before 8.0.0 release.
Issue priority Normal because Drupal 8 still works with these deprecated functions still in place.
Prioritized changes The main goal of this issue is removing code already deprecated for 8.0.0.

Comments

ianthomas_uk’s picture

Issue summary: View changes
heddn’s picture

Issue summary: View changes
Xano’s picture

Issue summary: View changes
heddn’s picture

Issue summary: View changes
JeroenT’s picture

Issue summary: View changes
JeroenT’s picture

Issue summary: View changes
JeroenT’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
LinL’s picture

Issue summary: View changes
LinL’s picture

Issue summary: View changes
LinL’s picture

Issue summary: View changes
LinL’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
marcingy’s picture

Issue summary: View changes
LinL’s picture

Should we be adding a Change record to the tasks that remove the deprecated function? Or maybe have one Change record for all of them?

bfr’s picture

Issue summary: View changes
bfr’s picture

Issue summary: View changes
alimac’s picture

alimac’s picture

Issue summary: View changes
alimac’s picture

Issue summary: View changes
bfr’s picture

Issue summary: View changes
bfr’s picture

Issue summary: View changes
bfr’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes
MKorostoff’s picture

Issue summary: View changes
tim.plunkett’s picture

Issue summary: View changes
slashrsm’s picture

Issue summary: View changes
slashrsm’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
daffie’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
mikey_p’s picture

Issue summary: View changes
Related issues: +#2308783: Remove format_interval()
mikey_p’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
penyaskito’s picture

Issue summary: View changes
penyaskito’s picture

Issue summary: View changes
penyaskito’s picture

Issue summary: View changes
penyaskito’s picture

Issue summary: View changes
penyaskito’s picture

Issue summary: View changes
JeroenT’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
clemens.tolboom’s picture

Issue summary: View changes
er.pushpinderrana’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
jbrown’s picture

Issue summary: View changes
ashutoshsngh’s picture

Issue summary: View changes
ashutoshsngh’s picture

Issue summary: View changes
jbrown’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
leeotzu’s picture

Issue summary: View changes
leeotzu’s picture

Issue summary: View changes
leeotzu’s picture

Issue summary: View changes
arpitr’s picture

Issue summary: View changes
arpitr’s picture

Issue summary: View changes
arpitr’s picture

Issue summary: View changes
crazyrohila’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes
yannisc’s picture

Issue summary: View changes
yannisc’s picture

Issue summary: View changes
yannisc’s picture

Issue summary: View changes
yannisc’s picture

Issue summary: View changes
legolasbo’s picture

Issue summary: View changes
legolasbo’s picture

legolasbo’s picture

Issue summary: View changes
legolasbo’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes

Add format_string()

ianthomas_uk’s picture

Issue summary: View changes
Les Lim’s picture

Issue summary: View changes

Added mail.inc deprecated functions.

Les Lim’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
xjm’s picture

Category: Bug report » Task
rpayanm’s picture

Issue summary: View changes
andypost’s picture

Issue summary: View changes
JeroenT’s picture

Issue summary: View changes
JeroenT’s picture

Issue summary: View changes
rpayanm’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes

Removed the following functions from the main table to make it more readable - these are all marked fixed.

2228741

File / Function Remove use Remove function
bootstrap.inc check_plain($text) #2089331: [meta] Replace calls to check_plain() with Drupal\Component\Utility\String::checkPlain() #2297487: Remove the check_plain function
bootstrap.inc user_access() #2048171: [meta] Replace user_access() calls with $account->hasPermission() wherever possible. #2306429: Remove user_access()
bootstrap.inc watchdog($type, $message, array $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL) #2271251: Remove usages of watchdog() from non-form and non-controllers #2272467: Remove usages of watchdog() from procedural code #2272481: Remove usages of watchdog() from forms, plugins and controllers #2324791: Remove watchdog()
bootstrap.inc drupal_anonymous_user() #2185315: Remove deprecated drupal_anonymous_user() function #2185315: Remove deprecated drupal_anonymous_user() function
bootstrap.inc drupal_get_hash_salt() #2286837: Remove drupal_get_hash_salt() #2286837: Remove drupal_get_hash_salt()
bootstrap.inc module_list() #2045917: Replace all module_list() deprecated function calls. #2300077: Remove module_list() function
bootstrap.inc module_implements($hook) #2045919: Replace all module_implements() deprecated function calls. #2300081: Remove module_implements() function
bootstrap.inc module_invoke_all($hook) #2045923: Replace all module_invoke_all() deprecated function calls in procedural code. #2055371: Replace all module_invoke_all() deprecated function calls in OO code Already removed
bootstrap.inc drupal_alter($type, &$data, &$context1 = NULL, &$context2 = NULL) #2045927: Replace all drupal_alter() deprecated function calls. Already removed
bootstrap.inc module_exists($module) #2045931: Replace all module_exists() deprecated function calls. Already removed
bootstrap.inc module_hook($module, $hook) #2045935: Replace all module_hook() deprecated function calls. Already removed
bootstrap.inc language($type) #2070369: Remove all calls to deprecated function language() Already removed
bootstrap.inc arg($index = NULL, $path = NULL) #788900: Deprecate and remove usages of arg() Already removed
bootstrap.inc drupal_check_memory_limit($required, $memory_limit = NULL) Already removed #2297533: Remove drupal_check_memory_limit function
bootstrap.inc lock() #2044367: Replace calls to lock() with \Drupal::lock() Already removed
common.inc parse_size($size) Already removed #2295715: Remove parse_size() function as it is no longer used.
common.inc format_interval($interval, $granularity = 2, $langcode = NULL) #2149197: Replace format_interval with \Drupal::service('date')->formatInterval() #2308783: Remove format_interval()
common.inc drupal_get_private_key() #2297535: Remove drupal_get_private_key #2297535: Remove drupal_get_private_key
common.inc drupal_get_token($value = '') #2293541: Remove *_token deprecated functions #2293541: Remove *_token deprecated functions
common.inc drupal_valid_token($token, $value = '') #2293541: Remove *_token deprecated functions #2293541: Remove *_token deprecated functions
entity.inc entity_load_by_uuid($entity_type_id, $uuid) #2119481: Inject EntityManager dependency into UuidResolver #2119481: Inject EntityManager dependency into UuidResolver
form.inc drupal_build_form($form_id, &$form_state) #2300581: Remove drupal_build_form() #2300581: Remove drupal_build_form()
form.inc form_state_defaults() Already removed Already removed
form.inc drupal_rebuild_form($form_id, &$form_state, $old_form = NULL) Already removed Already removed
form.inc form_get_cache($form_build_id, &$form_state) #2355179: Remove usage of form_get_cache() and form_set_cache() #2355187: Remove form_get_cache()
form.inc form_set_cache($form_build_id, $form, $form_state) #2355185: Remove usage of form_set_cache(). #2355187: Remove form_get_cache()
form.inc drupal_retrieve_form($form_id, &$form_state) Already removed #2301593: Remove drupal_retrieve_form() as it is deprecated
form.inc drupal_validate_form($form_id, &$form, &$form_state) Already removed Already removed
form.inc drupal_redirect_form($form_state) Already removed Already removed
form.inc form_execute_handlers($type, &$form, &$form_state) #2278403: Remove uses of form_execute_handlers() Remove function
form.inc form_set_error($name, array &$form_state, $message = '') #2297875: Replace calls to form_set_error() to $form_state->setErrorByName() #2297919: Remove form_set_error()
form.inc form_clear_error(array &$form_state) Already Removed Already Removed
form.inc form_get_errors(array &$form_state) #2333353: Remove usage of form_get_errors(). #2335189: Remove form.inc form_get_errors().
form.inc form_get_error($element, array &$form_state) Already Removed #2330423: Remove form.inc form_get_error().
form.inc form_error(&$element, array &$form_state, $message = '') #2334383: Remove usage of form_error(). Already removed
comment/comment.module comment_load($cid, $reset = FALSE) #2297475: Remove calls to comment_load #2297479: Remove comment_load function
comment/comment.module function comment_load_multiple(array $cids = NULL, $reset = FALSE) { Already removed #2297481: Remove comment_load_multiple
comment/comment.module comment_num_new() #2097123: Deprecate comment_num_new() in favour of method on CommentManager #2296839: Remove deprecated comment_num_new()
comment/comment.module comment_get_display_ordinal(( Already removed #2303879: Remove comment_get_display_ordinal()
comment/comment.module comment_get_display_page() Already removed #2303883: Remove comment_get_display_page()
comment/comment.module comment_new_page_count() Already removed #2303887: Remove comment_new_page_count()
file/file.module file_usage() Already removed #2294251: Remove file_usage from file module
file/tests/file_module_test/file_module_test.module file_module_test_form($form, &$form_state, $tree = TRUE, $extended = TRUE, $multiple = FALSE, $default_fids = NULL) Already removed Already removed
language/language.module language_access_language_edit_or_delete($language) use removed in #2003592: Convert language_admin_add_form and language_admin_edit_form to a Controllers, #1946426: Convert all of confirm_form() in language.admin.inc to the new form interface #2299253: Remove language_access_language_edit_or_delete function
locale/locale.pages.inc locale_translation_status_form($form, &$form_state) Already removed Already removed
user/user.module user_authenticate($name, $password) Already Removed #2306165: Remove user_authenticate()
user_access($string, AccountInterface $account = NULL) #2062043: Replace user_access() calls with $account->hasPermission() in core files #2306429: Remove user_access()
shortcut/shortcut.admin.inc shortcut_set_switch($form, &$form_state, $account = NULL) Already removed Already removed
update/update.fetch.inc update_fetch_data_batch(&$context) Already done #2306437: Remove update_fetch_data_batch
views/views.module views_get_plugin_definitions() Already done #2306471: Remove views_get_plugin_definitions()
system/tests/modules/batch_test/batch_test.module batch_test_simple_form() Already removed Already removed
views/views.module views_fetch_plugin_names($type, $key = NULL, $base = array()) Already done Already done
drupal_strtolower() #2361823: Remove usage of drupal_strtolower() #2361825: Remove drupal_strtolower
truncate_utf8() #2361745: Remove usage of truncate_utf8() #2361747: Remove truncate_utf8.
drupal_html_to_text() #2358999: Remove usage of drupal_html_to_text() #2359069: Remove drupal_html_to_text().
drupal_ucfirst() #2361833: Remove usage of drupal_ucfirst() #2361837: Remove drupal_ucfirst
drupal_strtoupper() #2361809: Remove usage of drupal_strtoupper() #2361811: Remove drupal_strtoupper.
drupal_strlen() #2361797: Remove usage of drupal_strlen() #2361799: Remove drupal_strlen.
decode_entities() #2361789: Remove usage of decode_entities() #2361795: Remove decode_entities.
ianthomas_uk’s picture

Issue summary: View changes

Remove several more functions

File / Function Remove use Remove function
entity.inc entity_get_controller($entity_type) Already Removed Already Removed
entity.inc entity_access_controller($entity_type) Already Removed Already Removed
errors.inc format_backtrace(array $backtrace) Already Removed Already Removed
form.inc drupal_get_form($form_arg) #2121175: Remove usage of drupal_get_form() #2300847: Remove drupal_get_form() as it is deprecated
views/views.module views_get_enabled_display_extenders() Already Removed #2353005: Remove deprecated function views_get_enabled_display_extenders
common.inc drupal_json_encode($var) #2093161: Remove all calls to drupal_json_encode() in favour of \Drupal\Component\Utility\Json::encode() Already removed
common.inc drupal_json_decode($var) #2093173: Remove all calls to drupal_json_decode(), use \Drupal\Component\Utility\Json::decode() Already removed
views/views.module views_get_all_views() Already removed #2353011: Remove deprecated function views_get_all_views
taxonomy/taxonomy.module taxonomy_term_load_parents_all() Already removed #2353013: Remove taxonomy_term_load_parents_all from taxonomy/taxonomy.module
mime_header_encode() #2361757: Remove usage of mime_header_encode() #2361761: Remove mime_header_encode and mime_header_decode
drupal_convert_to_utf8() #2361711: Remove usage of drupal_convert_to_utf8() #2361727: Remove drupal_convert_to_utf8.
ianthomas_uk’s picture

Issue summary: View changes

More already fixed function, and link several 'Remove function' issues.

form.inc form_builder($form_id, &$element, &$form_state) Already removed Already removed
utility.inc drupal_var_export($var, $prefix = '') #2367745: Remove drupal_var_export() #2367745: Remove drupal_var_export()
content_translation/content_translation.pages.inc content_translation_overview(EntityInterface $entity) #2224607: Move all functions from content_translation.pages.inc file to Drupal\content_translation\Controller\ContentTranslationController class #1987882: Convert content_translation routes to a new style controller #1987882: Convert content_translation routes to a new style controller
content_translation/content_translation.pages.inc content_translation_add_page(EntityInterface $entity, Language $source = NULL, Language $target = NULL) #1987882: Convert content_translation routes to a new style controller #1987882: Convert content_translation routes to a new style controller
content_translation/content_translation.pages.inc content_translation_edit_page(EntityInterface $entity, Language $language = NULL) #1987882: Convert content_translation routes to a new style controller #1987882: Convert content_translation routes to a new style controller
ianthomas_uk’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes
rpayanm’s picture

Issue summary: View changes
rpayanm’s picture

Issue summary: View changes
LinL’s picture

rpayanm’s picture

Issue summary: View changes
rpayanm’s picture

Issue summary: View changes
ianthomas_uk’s picture

msankhala’s picture

Issue summary: View changes
msankhala’s picture

Issue summary: View changes
ianthomas_uk’s picture

ianthomas_uk’s picture

ianthomas_uk’s picture

Issue summary: View changes

Fix element_* links.

ianthomas_uk’s picture

Issue summary: View changes

Update conf_path issue #

Remove another set of fixed issues:

File / Function Remove use Remove function
form.inc drupal_form_submit($form_arg, &$form_state) #2367743: Remove usages of drupal_form_submit() and update documentation #2367743: Remove usages of drupal_form_submit() and update documentation
form.inc drupal_process_form($form_id, &$form, &$form_state) #2335673: Remove usage of drupal_process_form(). #2385063: Remove drupal_process_form()
form.inc drupal_prepare_form($form_id, &$form, &$form_state) Already removed Already removed
form.inc form_options_flatten($array) #2341461: Remove usage of form_options_flatten(). #2383727: Remove form_options_flatten() as it is deprecated
mail.inc drupal_mail($module, $key, $to, $langcode, $params = array(), $reply = NULL, $send = TRUE) #2358991: Remove usage of drupal_mail() #2359457: Remove drupal_mail().
path.inc path_is_admin($path) Already removed #2300817: Remove path_is_admin() as it is deprecated
common.inc drupal_html_class() #2382543: Remove usage of drupal_html_class() and drupal_clean_css_identifier() #2382799: Remove drupal_html_class() and drupal_clean_css_identifier()
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
fotuzlab’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
fotuzlab’s picture

Issue summary: View changes
a_thakur’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes

Updated some issue links and removed more functions that have already gone:

File / Function Remove use Remove function
common.inc _drupal_add_css($data = NULL, $options = NULL) #2073819: [META] Remove direct calls to drupal_add_css() #2368797: Optimize ajaxPageState to keep Drupal 8 sites fast on high-latency networks, prevent CSS/JS aggregation from taking down sites and use HTTP GET for AJAX requests
common.inc _drupal_add_js($data = NULL, $options = NULL) #2073823: [META] Remove drupal_add_js() calls #2368797: Optimize ajaxPageState to keep Drupal 8 sites fast on high-latency networks, prevent CSS/JS aggregation from taking down sites and use HTTP GET for AJAX requests
bootstrap.inc module_invoke($module, $hook) #2045921: Replace all module_invoke() deprecated function calls. #2330181: Remove bootstrap.inc module_invoke().
bootstrap.inc language_list($flags = Language::STATE_CONFIGURABLE) #2328293: Remove usage of language_list() #2443783: Remove language_load(), language_list() and language_default() from bootstrap.inc
bootstrap.inc language_load($langcode) #2166915: Remove uses of deprecated language functions in tests and procedural code #2225427: Remove remaining uses of deprecated language functions (mostly in object oriented code) #2443783: Remove language_load(), language_list() and language_default() from bootstrap.inc
bootstrap.inc language_default() #2166915: Remove uses of deprecated language functions in tests and procedural code #2225427: Remove remaining uses of deprecated language functions (mostly in object oriented code) #2443783: Remove language_load(), language_list() and language_default() from bootstrap.inc
common.inc format_plural($count, $singular, $plural, array $args = array(), array $options = array()) #2149195: Replace format_plural with \Drupal::translation()->formatPlural() #2309737: Remove deprecated format_plural usage #2366539: Remove format_plural().
module.inc module_install($module_list, $enable_dependencies = TRUE) Already removed #2352917: Remove module_install() and module_uninstall() from module.inc
module.inc module_uninstall($module_list = array(), $uninstall_dependents = TRUE) Already removed #2352917: Remove module_install() and module_uninstall() from module.inc
theme.inc drupal_theme_access($theme) #2151469: Clean-up usage of deprecated list_themes() and _system_rebuild_theme_data() in favor of theme_handler service, #2443817: Remove usage and the function drupal_theme_access() #2443817: Remove usage and the function drupal_theme_access()
theme.inc list_themes($refresh = FALSE) #2151469: Clean-up usage of deprecated list_themes() and _system_rebuild_theme_data() in favor of theme_handler service Gone
theme.inc theme_enable($theme_list) #2151469: Clean-up usage of deprecated list_themes() and _system_rebuild_theme_data() in favor of theme_handler service Gone
theme.inc theme_disable($theme_list) #2151469: Clean-up usage of deprecated list_themes() and _system_rebuild_theme_data() in favor of theme_handler service Gone
system/tests/modules/ajax_test/ajax_test.module ajax_test_render() #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller
system/tests/modules/ajax_test/ajax_test.module ajax_test_order() #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller
system/tests/modules/ajax_test/ajax_test.module ajax_test_error() #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller
system/tests/modules/ajax_test/ajax_test.module ajax_test_dialog_close() #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller #2066445: Convert a bunch of AjaxResponse callbacks in system.module's test's ajax_test.module to a new style controller
bootstrap.inc drupal_bootstrap() N/A #2347625: Remove drupal_bootstrap and drupal_get_bootstrap_phase
bootstrap.inc drupal_get_bootstrap_phase() #2347625: Remove drupal_bootstrap and drupal_get_bootstrap_phase #2347625: Remove drupal_bootstrap and drupal_get_bootstrap_phase
a_thakur’s picture

Issue summary: View changes
Mile23’s picture

Added beta evaluation.

valthebald’s picture

Title: [meta] Remove all @deprecated functions marked "remove before 8.0" » [META] Remove all @deprecated functions marked "remove before 8.0"
Noe_’s picture

Issue summary: View changes
Noe_’s picture

Issue summary: View changes
Noe_’s picture

Issue summary: View changes
Noe_’s picture

Issue summary: View changes
Noe_’s picture

Issue summary: View changes
Noe_’s picture

Issue summary: View changes
Noe_’s picture

Issue summary: View changes
cilefen’s picture

Issue summary: View changes
Mac_Weber’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes

Remove functions from this issue that are not due to be removed until Drupal 9:
file_load
file_load_multiple

Removing fixes issues from issue summary:

common.inc element_info($type) #2226621: Remove usage of element_info(), element_child() and element_children(). Deprecate element_info_property(). #2443805: Remove element_* from common.inc
common.inc element_info_property($type, $property_name, $default = NULL) #2226621: Remove usage of element_info(), element_child() and element_children(). Deprecate element_info_property(). #2443805: Remove element_* from common.inc
common.inc element_property($key) gone #2443805: Remove element_* from common.inc
common.inc element_properties($element) gone #2443805: Remove element_* from common.inc
common.inc element_child($key) #2226621: Remove usage of element_info(), element_child() and element_children(). Deprecate element_info_property(). #2443805: Remove element_* from common.inc
common.inc element_children(&$elements, $sort = FALSE) #2226621: Remove usage of element_info(), element_child() and element_children(). Deprecate element_info_property(). #2443805: Remove element_* from common.inc
common.inc element_get_visible_children(array $elements) Gone #2443805: Remove element_* from common.inc
common.inc element_set_attributes(array &$element, array $map) Gone #2443805: Remove element_* from common.inc
system/system.module system_rebuild_theme_data() #2367747: Remove usage of system_rebuild_theme_data() #2452637: Remove function system_rebuild_theme_data() from system.module
file.inc Remove file_stream_wrapper_get_* function #2392559: Remove all uses of file_stream_wrapper_get_* and file_get_stream_wrappers #2382859: Remove file_stream_wrapper_get_*() and file_get_stream_wrappers()
catch’s picture

Issue tags: -revisit before release candidate

This looks really close, to the point where I think if there are one or two left at the end, we should consider updating the documentation if they don't happen before release candidate. However we can still commit these right up until the first release candidate. Untagging.

Mile23’s picture

#2549041: Remove deprecated _drupal_set_preferred_header_name() removes _drupal_set_preferred_header_name().

ianthomas_uk’s picture

ianthomas_uk’s picture

Issue summary: View changes
ianthomas_uk’s picture

Issue summary: View changes

Link to more issues

ianthomas_uk’s picture

Issue summary: View changes

Fix header removal function links

Mile23’s picture

ianthomas_uk’s picture

Issue summary: View changes

Remove more that have been fixed:

File / Function Remove use Remove function
bootstrap.inc drupal_add_http_header($name, $value, $append = FALSE) #2184907: Remove uses of drupal_add_http_header and related functions #2467759: Refactor drupal_process_attached() so it doesn't depend on drupal_add_http_header()
bootstrap.inc drupal_get_http_header($name = NULL) #2184907: Remove uses of drupal_add_http_header and related functions #2467759: Refactor drupal_process_attached() so it doesn't depend on drupal_add_http_header()
bootstrap.inc _drupal_set_preferred_header_name( $name = NULL) #2184907: Remove uses of drupal_add_http_header and related functions #2549041: Remove deprecated _drupal_set_preferred_header_name()
bootstrap.inc drupal_send_headers($default_headers = array(), $only_default = FALSE) #2184907: Remove uses of drupal_add_http_header and related functions #2362123: drupal_page_header() and drupal_send_headers() are dead code: already deprecated, zero uses remain: remove
file.inc Remove file_stream_wrapper_get_* function #2392559: Remove all uses of file_stream_wrapper_get_* and file_get_stream_wrappers #2382859: Remove file_stream_wrapper_get_*() and file_get_stream_wrappers()
update/update.compare.inc update_get_projects() #2449809: Remove usage of update_get_projects() #2449813: Remove update_get_projects()
taxonomy/taxonomy.module #2452577: Remove Usage of deprecated function taxonomy_* #2505851: Remove deprecated function taxonomy_*
Entity/EntityInterface->getSystemPath #2476059: Remove EntityInterface->getSystemPath(), all its implementations and related usage #2476059: Remove EntityInterface->getSystemPath(), all its implementations and related usage
lib/Drupal/Component/Utility/String.php check_plain #2089331: [meta] Replace calls to check_plain() with Drupal\Component\Utility\String::checkPlain() #2297487: Remove the check_plain function

Add SafeMarkup::checkPlain()

ianthomas_uk’s picture

Issue summary: View changes

I've gone through HEAD, and every instance of @deprecated is either:

ianthomas_uk’s picture

Issue summary: View changes

Remove some more functions - this meta is now fully up to date:

Fixed

bootstrap.inc drupal_page_header() #2184907: Remove uses of drupal_add_http_header and related functions #2362123: drupal_page_header() and drupal_send_headers() are dead code: already deprecated, zero uses remain: remove
lib/Drupal/Component/Utility/String.php #2457781: Use Utility\Html class instead of Utility\String for decodeEntities() function #2458387: Remove Utility\String class
lib/Drupal/Component/Utility/String.php #2476075: Remove usage of \Drupal\Component\Utility\String::format()

Not deprecated for 8.x

bootstrap.inc format_string() #2228741: Replace calls to format_string() with Drupal\Component\Render\FormattableMarkup
Drupal.php public static getContainer() (no issue)
Core/Template/TwigExtension.php (file doesn't exist and linked issue was not relevant)

Mile23’s picture

Priority: Normal » Major

Should really be critical, but I don't run the world.

webchick’s picture

Issue tags: +rc deadline

I can't think of a reason why we would not ship D8 if this wasn't done. However, it does definitely need to get done before RC if we're going to do it, so tagging.

joelpittet’s picture

Version: 8.0.x-dev » 8.1.x-dev
Issue summary: View changes

Tweak the grep because vendor moved to root.

I guess we'll likely need to move this to 8.1.x since RC is out. They are still marked deprecated the deadline for removing them has past.

The biggest hunks seems to be db_ functions file functions.

ianthomas_uk’s picture

Version: 8.1.x-dev » 8.0.x-dev

I can't run the grep at the moment, but I'd guess it's picking things up that were deprecated in D8, to be removed in D9.

We're not allowed to remove functions in D8.1 unless we really, really need to, so there's basically no more removal of functions to be done in the short to medium term. Based on the issues in the issue summary, it should just be getPathFromRoute() and getInternalPath() that we weren't able to remove in time. We now need to update the documentation for these so they say "will be removed in Drupal 9".

We may want to file a new meta to remove usages of deprecated functions so we're ready for Drupal 9, but I don't think there's too much value in doing that now (lots of it will just happen naturally before then anyway as code gets rewritten). We can of course upgrade things to take advantage of new APIs where available.

Mile23’s picture

Priority: Major » Critical
Status: Active » Reviewed & tested by the community

We're not allowed to remove functions in D8.1 unless we really, really need to, so there's basically no more removal of functions to be done in the short to medium term.

...Thus illustrating a major flaw in a criticals-based release process.

Anyway, yes, here's what remains:

UrlGeneratorInterface::getPathFromRoute() #2307061: UrlGeneratorInterface::getPathFromRoute() is marked deprecated but will not be removed, so update the docs

Url::getInternalPath() #2367753: \Drupal\Core\Url::getInternalPath() cannot be deprecated

These deprecations should occur, and those methods should be removed from core, if they really are deprecated.

If they're not deprecated, then a maintainer should say so.

Setting RTBC in hopes of getting maintainer input.

tim.plunkett’s picture

Priority: Critical » Major
Status: Reviewed & tested by the community » Active
Issue tags: -rc deadline +rc target triage

Not appropriate usage of priority or status.

Mile23’s picture

Hah, just saw webchick's post and came back to change this.

https://groups.drupal.org/node/486388

xjm’s picture

Issue tags: -rc target triage

Since this is a meta and different removals of different deprecated functions have different impact, let's instead tag any outstanding child issues for triage individually.

Mile23’s picture

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

martin107’s picture

Status: Active » Fixed

I think this is done? ... all the child issues are complete

No activity since 2015

cilefen’s picture

All I found were these:

git grep -e '@deprecated.*before Drupal 8'
core/modules/system/src/Tests/Entity/EntityUnitTestBase.php: * @deprecated in Drupal 8.1.x, will be removed before Drupal 8.2.x. Use
core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php:   * @deprecated in Drupal 8.1.x, will be removed before Drupal 8.3.x. Use
core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php:   * @deprecated in Drupal 8.1.x, will be removed before Drupal 8.3.x. Use
core/tests/Drupal/KernelTests/KernelTestBase.php:   * @deprecated in Drupal 8.0.x, will be removed before Drupal 8.2.0.
martin107’s picture

cilefen++ That git grep is a really useful command

Just for the record

It looks like you did that on the 8.4.x branch .. or at least the results are the same.

I don't think it is worth promoting a fixed issue 8.3.x upto 8.4.x

martin107’s picture

cleanup on aisle 8.4

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.