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)
- erl_tidy:_/_ (use https://github.com/richcarl/erl_tidy)
- 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)
- igor:_/_ (use https://github.com/richcarl/igor)
- 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 snmpc:compile/1 instead.)
- snmp:c/2 (use snmpc:compile/2 instead.)
- snmp:change_log_size/1 (use snmpa:change_log_size/1 instead.)
- snmp:compile/3 (use snmpc: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 snmpc: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 snmpc: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)