Erlang -- Scheduled for Removal

General Information

User's Guide

Version 11.0

- User's Guide
- PDF
- Top

- Expand All
- Contract All

### Chapters

- Deprecations
  - Top of chapter
  - Introduction
  - OTP 23
  - OTP 22
  - OTP 21
  - OTP 20
  - OTP 19
  - OTP 18
  - OTP 16
  - OTP 12
  - OTP 10
- Scheduled for Removal
  - Top of chapter
  - Introduction
  - OTP 25
  - OTP 24

# 2 Scheduled for Removal

### 2.1 Introduction

This document list all functionality in Erlang/OTP that currently are scheduled for removal. For more information regarding the strategy regarding removal of functionality see the documentation of Support, Compatibility, Deprecations, and Removal.

### 2.2 OTP 25

#### http_uri

Since OTP 21 the recommended module to handle URIs is uri_string. The module http_uri does not provide a implementation that satisfies the RFC. Formally deprecated since OTP-23.

#### Functions Scheduled for Removal in OTP 25

- filename:safe_relative_path/1 (use filelib:safe_relative_path/2 instead)
- http_uri:decode/1 (use uri_string functions instead)
- http_uri:encode/1 (use uri_string functions instead)
- http_uri:parse/1 (use uri_string functions instead)
- http_uri:parse/2 (use uri_string functions instead)
- http_uri:scheme_defaults/0 (use uri_string functions instead)
- snmpm:async_get/3 (use snmpm:async_get2/3 instead.)
- snmpm:async_get/4 (use snmpm:async_get2/4 instead.)
- snmpm:async_get/5 (use snmpm:async_get2/4 instead.)
- snmpm:async_get/6 (use snmpm:async_get2/4 instead.)
- snmpm:async_get_bulk/5 (use snmpm:async_get_bulk2/5 instead.)
- snmpm:async_get_bulk/6 (use snmpm:async_get_bulk2/6 instead.)
- snmpm:async_get_bulk/7 (use snmpm:async_get_bulk2/6 instead.)
- snmpm:async_get_bulk/8 (use snmpm:async_get_bulk2/6 instead.)
- snmpm:async_get_next/3 (use snmpm:async_get_next2/3 instead.)
- snmpm:async_get_next/4 (use snmpm:async_get_next2/4 instead.)
- snmpm:async_get_next/5 (use snmpm:async_get_next2/4 instead.)
- snmpm:async_get_next/6 (use snmpm:async_get_next2/4 instead.)
- snmpm:async_set/3 (use snmpm:async_set2/3 instead.)
- snmpm:async_set/4 (use snmpm:async_set2/4 instead.)
- snmpm:async_set/5 (use snmpm:async_set2/4 instead.)
- snmpm:async_set/6 (use snmpm:async_set2/4 instead.)
- snmpm:sync_get/3 (use snmpm:sync_get2/3 instead.)
- snmpm:sync_get/4 (use snmpm:sync_get2/4 instead.)
- snmpm:sync_get/5 (use snmpm:sync_get2/4 instead.)
- snmpm:sync_get/6 (use snmpm:sync_get2/4 instead.)
- snmpm:sync_get_bulk/5 (use snmpm:sync_get_bulk2/5 instead.)
- snmpm:sync_get_bulk/6 (use snmpm:sync_get_bulk2/6 instead.)
- snmpm:sync_get_bulk/7 (use snmpm:sync_get_bulk2/6 instead.)
- snmpm:sync_get_bulk/8 (use snmpm:sync_get_bulk2/6 instead.)
- snmpm:sync_get_next/3 (use snmpm:sync_get_next2/3 instead.)
- snmpm:sync_get_next/4 (use snmpm:sync_get_next2/4 instead.)
- snmpm:sync_get_next/5 (use snmpm:sync_get_next2/4 instead.)
- snmpm:sync_get_next/6 (use snmpm:sync_get_next2/4 instead.)
- snmpm:sync_set/3 (use snmpm:sync_set2/3 instead.)
- snmpm:sync_set/4 (use snmpm:sync_set2/4 instead.)
- snmpm:sync_set/5 (use snmpm:sync_set2/4 instead.)
- snmpm:sync_set/6 (use snmpm:sync_set2/4 instead.)

### 2.3 OTP 24

#### Old Crypto API

The Old API will be removed as of OTP 24. The support was formally deprecated as of OTP 23.

For replacement functions see the New API.

#### pg2

pg2 is as of OTP 23 deprecated and will be removed in OTP 24.

#### Distributed Disk Logs

The distributed disk_log feature is as of OTP 23 deprecated and will be removed in OTP 24.

#### Megaco version 3 encoding config

As of OTP 24, the pre-release version 3 encoding configs; prev3a, prev3b and prev3c will be removed. Use the full version instead.

The (encoding) config option for the full version, {version3, 3}, will still be supported, even though its no longer necessary to specify it this way.

#### Compilation of Latin-1 Encoded Erlang Files

As of OTP 24, the Erlang compiler will refuse to compile source files encoded in Latin-1 but without a %% coding: latin-1 comment at the beginning of the file.

#### erl_interface registry

The registry functionality part of erl_interface is as of OTP 23 deprecated and will be removed in OTP 24.

#### Functions Scheduled for Removal in OTP 24

- crypto:block_decrypt/3 (use crypto:crypto_one_time/4 or crypto:crypto_init/3 + crypto:crypto_update/2 + crypto:crypto_final/1 instead)
- crypto:block_decrypt/4 (use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_(dyn_iv)?_init + crypto:crypto_(dyn_iv)?_update + crypto:crypto_final instead)
- crypto:block_encrypt/3 (use crypto:crypto_one_time/4 or crypto:crypto_init/3 + crypto:crypto_update/2 + crypto:crypto_final/1 instead)
- crypto:block_encrypt/4 (use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_(dyn_iv)?_init + crypto:crypto_(dyn_iv)?_update + crypto:crypto_final instead)
- crypto:cmac/3 (use crypto:mac/4 instead)
- crypto:cmac/4 (use crypto:macN/5 instead)
- crypto:hmac/3 (use crypto:mac/4 instead)
- crypto:hmac/4 (use crypto:macN/5 instead)
- crypto:hmac_final/1 (use crypto:mac_final/1 instead)
- crypto:hmac_final_n/2 (use crypto:mac_finalN/2 instead)
- crypto:hmac_init/2 (use crypto:mac_init/3 instead)
- crypto:hmac_update/2 (use crypto:mac_update/2 instead)
- crypto:next_iv/_ (see the 'New and Old API' chapter of the CRYPTO User's guide)
- crypto:poly1305/2 (use crypto:mac/3 instead)
- crypto:stream_decrypt/2 (use crypto:crypto_update/2 instead)
- crypto:stream_encrypt/2 (use crypto:crypto_update/2 instead)
- crypto:stream_init/_ (use crypto:crypto_init/3 + crypto:crypto_update/2 + crypto:crypto_final/1 or crypto:crypto_one_time/4 instead)
- erlang:get_stacktrace/0 (use the new try/catch syntax for retrieving the stack backtrace)
- filename:find_src/_ (use filelib:find_source/1,3 instead)
- megaco:format_versions/1 (use megaco:print_version_info/0,1 instead.)
- pg2:_/_ (use 'pg' instead)
- snmp:add_agent_caps/2 (use snmpa:add_agent_caps/2 instead.)
- snmp:c/1 (use snmpa:c/1 instead.)
- snmp:c/2 (use snmpa:c/2 instead.)
- snmp:change_log_size/1 (use snmpa:change_log_size/1 instead.)
- snmp:compile/3 (use snmpa:compile/3 instead.)
- snmp:current_address/0 (use snmpa:current_address/0 instead.)
- snmp:current_community/0 (use snmpa:current_community/0 instead.)
- snmp:current_context/0 (use snmpa:current_context/0 instead.)
- snmp:current_net_if_data/0 (use snmpa:current_net_if_data/0 instead.)
- snmp:current_request_id/0 (use snmpa:current_request_id/0 instead.)
- snmp:del_agent_caps/1 (use snmpa:del_agent_caps/1 instead.)
- snmp:dump_mibs/0 (use snmpa:dump_mibs/0 instead.)
- snmp:dump_mibs/1 (use snmpa:dump_mibs/1 instead.)
- snmp:enum_to_int/2 (use snmpa:enum_to_int/2 instead.)
- snmp:enum_to_int/3 (use snmpa:enum_to_int/3 instead.)
- snmp:get/2 (use snmpa:get/2 instead.)
- snmp:get_agent_caps/0 (use snmpa:get_agent_caps/0 instead.)
- snmp:get_symbolic_store_db/0 (use snmpa:get_symbolic_store_db/0 instead.)
- snmp:info/1 (use snmpa:info/1 instead.)
- snmp:int_to_enum/2 (use snmpa:int_to_enum/2 instead.)
- snmp:int_to_enum/3 (use snmpa:int_to_enum/3 instead.)
- snmp:is_consistent/1 (use snmpa:is_consistent/1 instead.)
- snmp:load_mibs/2 (use snmpa:load_mibs/2 instead.)
- snmp:log_to_txt/2 (use snmpa:log_to_txt/2 instead.)
- snmp:log_to_txt/3 (use snmpa:log_to_txt/3 instead.)
- snmp:log_to_txt/4 (use snmpa:log_to_txt/4 instead.)
- snmp:mib_to_hrl/1 (use snmpa:mib_to_hrl/1 instead.)
- snmp:name_to_oid/1 (use snmpa:name_to_oid/1 instead.)
- snmp:name_to_oid/2 (use snmpa:name_to_oid/2 instead.)
- snmp:oid_to_name/1 (use snmpa:oid_to_name/1 instead.)
- snmp:oid_to_name/2 (use snmpa:oid_to_name/2 instead.)
- snmp:register_subagent/3 (use snmpa:register_subagent/3 instead.)
- snmp:send_notification/3 (use snmpa:send_notification/3 instead.)
- snmp:send_notification/4 (use snmpa:send_notification/4 instead.)
- snmp:send_notification/5 (use snmpa:send_notification/5 instead.)
- snmp:send_notification/6 (use snmpa:send_notification/6 instead.)
- snmp:send_trap/3 (use snmpa:send_trap/3 instead.)
- snmp:send_trap/4 (use snmpa:send_trap/4 instead.)
- snmp:unload_mibs/2 (use snmpa:unload_mibs/2 instead.)
- snmp:unregister_subagent/2 (use snmpa:unregister_subagent/2 instead.)
- snmpa:old_info_format/1 (use "new" format instead)
- ssl:cipher_suites/0 (use cipher_suites/2,3 instead)
- ssl:cipher_suites/1 (use cipher_suites/2,3 instead)
- ssl:ssl_accept/_ (use ssl_handshake/1,2,3 instead)