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.

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)