2 Removed Functionality
2.1 Introduction
This document lists all removed functionality in Erlang/OTP. For more information regarding the strategy regarding removals see the documentation of Support, Compatibility, Deprecations, and Removal.
2.2 OTP 24
erl_interface registry
The registry functionality part of erl_interface was as of OTP 23 deprecated and was removed in OTP 24.
Compilation of Latin-1 Encoded Erlang Files
The Erlang compiler now refuses to compile source files encoded in Latin-1 without a %% coding: latin-1 comment at the beginning of the file.
igor and erl_tidy modules in syntax_tools
The igor and erl_tidy modules have been removed from OTP and is now maintained by their original author Richard Carlsson. They can be found at github.com/richcarl/igor and github.com/richcarl/erl_tidy, respectively.
Functions Removed 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)
- filename:find_src/_ (use filelib:find_source/1,3 instead)
- pg2:_/_ (this module was removed in OTP 24. Use 'pg' 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)
2.3 OTP 23
Functions Removed in OTP 23
- erlang:get_stacktrace/0 (use the new try/catch syntax for retrieving the stack backtrace)
- httpd_conf:check_enum/2 (use lists:member/2 instead)
- httpd_conf:clean/1 (use sting:strip/1 instead or possibly the re module)
- httpd_conf:custom_clean/3 (use sting:strip/1 instead or possibly the re module)
- httpd_conf:is_directory/1 (use filelib:is_dir/1 instead)
- httpd_conf:is_file/1 (use filelib:is_file/1 instead)
- httpd_conf:make_integer/1 (use erlang:list_to_integer/1 instead)
2.4 OTP 22
Functions Removed in OTP 22
- os_mon_mib:_/_ (this module was removed in OTP 22.0)
2.5 OTP 20
Functions Removed in OTP 20
- asn1ct:decode/_ (use Mod:decode/2 instead)
- asn1ct:encode/_ (use Mod:encode/2 instead)
- erlang:hash/2 (use erlang:phash2/2 instead)
- ssl:connection_info/1 (use ssl:connection_information/[1,2] instead)
- ssl:negotiated_next_protocol/1 (use ssl:negotiated_protocol/1 instead)
2.6 OTP 19
Functions Removed in OTP 19
- core_lib:get_anno/1 (use cerl:get_ann/1 instead)
- core_lib:is_literal/1 (use cerl:is_literal/1 instead)
- core_lib:is_literal_list/1 (use cerl:is_literal_list/1 instead)
- core_lib:literal_value/1 (use cerl:concrete/1 instead)
- core_lib:set_anno/2 (use cerl:set_ann/2 instead)
- erl_lint:modify_line/2 (use erl_parse:map_anno/2 instead)
- erl_parse:get_attribute/2 (erl_anno:{column,line,location,text}/1 instead)
- erl_parse:get_attributes/1 (erl_anno:{column,line,location,text}/1 instead)
- erl_parse:set_line/2 (use erl_anno:set_line/2)
- erl_scan:attributes_info/_ (use erl_anno:{column,line,location,text}/1 instead)
- erl_scan:set_attribute/3 (use erl_anno:set_line/2 instead)
- erl_scan:token_info/_ (use erl_scan:{category,column,line,location,symbol,text}/1 instead)
- rpc:safe_multi_server_call/2 (use rpc:multi_server_call/2 instead)
- rpc:safe_multi_server_call/3 (use rpc:multi_server_call/3 instead)