## %CopyrightBegin%
##
## SPDX-License-Identifier: Apache-2.0
##
## Copyright Ericsson AB 2020-2026. All Rights Reserved.
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
##     http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
## %CopyrightEnd%
#
# This file contains additional information about each
# deprecated function, namely in what release it was
# deprecated and whether it is scheduled for removal.
#
# Examples:
#
#     foo:bar/1 since=23
#
# The function foo:bar/1 was deprecated in OTP 23.
# Nothing has been decided yet about its eventual
# removal.
#
#     foo:bar/3 since=23 remove=25
#
# The function foo:bar/3 was deprecated in OTP 23 and
# is scheduled to be removed in OTP 25.
#

#
# Added in OTP 29.
#
lists:zf/2 since=29
ftp:_/_  since=29 remove=30
odbc:_/_  since=29 remove=30
ct_ftp:_/_ since=29 remove=30

#
# Added in OTP 28.
#
crypto:start/0 since=28
crypto:stop/0 since=28
crypto:enable_fips_mode/1 since=28

#
# Added in OTP 27.
#
mnesia_registry:create_table/_ since=27 remove=29
code:lib_dir/2 since=27
ssl:prf/5 since=27
ssl:prf_random/0 since=27 remove=28

#
# Added in OTP 26.
#
file:pid2name/1 since=26 remove=27
disk_log:inc_wrap_file/1 since=26 remove=28
dbg:stop_clear/0 since=26 remove=27

#
# Added in OTP 25.
#
slave:_/_ since=25 remove=31
ct_slave:_/_ since=25 remove=31
httpd_util:encode_hex/1 since=25 remove=26
httpd_util:decode_hex/1 since=25 remove=26

crypto:crypto_dyn_iv_init/3 since=25 remove=27
crypto:crypto_dyn_iv_update/3 since=25 remove=27
erts_alloc_config:_/_ since=25 remove=26

#
# Added in OTP 24.
#

public_key:ssh_hostkey_fingerprint/1 since=24 remove=25
public_key:ssh_hostkey_fingerprint/2 since=24 remove=25
public_key:ssh_decode/2 since=24 remove=25
public_key:ssh_encode/2 since=24 remove=25
ftp:start_service/1 since=24 remove=26
ftp:stop_service/1 since=24 remove=26
httpd_util:flatlength/1 since=24 remove=26
httpd_util:hexlist_to_integer/1 since=24 remove=26
httpd_util:integer_to_hexlist/1 since=24 remove=26
httpd_util:strip/1 since=24 remove=26
httpd_util:suffix/1 since=24 remove=26
disk_log:accessible_logs/0 since=24 remove=26
disk_log:lclose/1 since=24 remove=26
disk_log:lclose/2 since=24 remove=26
erlang:phash/2 since=24
code:is_module_native/1 since=24 remove=26
zlib:inflateChunk/1 since=24 remove=27
zlib:inflateChunk/2 since=24 remove=27
zlib:getBufSize/1 since=24 remove=27
zlib:setBufSize/2 since=24 remove=27
zlib:crc32/1 since=24 remove=27
zlib:crc32/2 since=24 remove=27
zlib:crc32/3 since=24 remove=27
zlib:adler32/2 since=24 remove=27
zlib:adler32/3 since=24 remove=27
zlib:crc32_combine/4 since=24 remove=27
zlib:adler32_combine/4 since=24 remove=27

#
# Added in OTP 23.
#
ssl:cipher_suites/1 since=21 remove=24
ssl:cipher_suites/0 since=21 remove=24

http_uri:parse/1 since=23 remove=25
http_uri:parse/2 since=23 remove=25
http_uri:encode/1 since=23
http_uri:decode/1 since=23
http_uri:scheme_defaults/0 since=23 remove=25
httpd:parse_query/1 since=23
pg2:_/_ since=23 remove=24
filename:safe_relative_path/1 since=23 remove=25

snmpm:sync_get/3 since=23 remove=25
snmpm:sync_get/4 since=23 remove=25
snmpm:sync_get/5 since=23 remove=25
snmpm:sync_get/6 since=23 remove=25
snmpm:async_get/3 since=23 remove=25
snmpm:async_get/4 since=23 remove=25
snmpm:async_get/5 since=23 remove=25
snmpm:async_get/6 since=23 remove=25
snmpm:sync_get_next/3 since=23 remove=25
snmpm:sync_get_next/4 since=23 remove=25
snmpm:sync_get_next/5 since=23 remove=25
snmpm:sync_get_next/6 since=23 remove=25
snmpm:async_get_next/3 since=23 remove=25
snmpm:async_get_next/4 since=23 remove=25
snmpm:async_get_next/5 since=23 remove=25
snmpm:async_get_next/6 since=23 remove=25
snmpm:sync_set/3 since=23 remove=25
snmpm:sync_set/4 since=23 remove=25
snmpm:sync_set/5 since=23 remove=25
snmpm:sync_set/6 since=23 remove=25
snmpm:async_set/3 since=23 remove=25
snmpm:async_set/4 since=23 remove=25
snmpm:async_set/5 since=23 remove=25
snmpm:async_set/6 since=23 remove=25
snmpm:sync_get_bulk/5 since=23 remove=25
snmpm:sync_get_bulk/6 since=23 remove=25
snmpm:sync_get_bulk/7 since=23 remove=25
snmpm:sync_get_bulk/8 since=23 remove=25
snmpm:async_get_bulk/5 since=23 remove=25
snmpm:async_get_bulk/6 since=23 remove=25
snmpm:async_get_bulk/7 since=23 remove=25
snmpm:async_get_bulk/8 since=23 remove=25

#
# Added in OTP 22.
#

crypto:block_decrypt/3 since=22 remove=24
crypto:block_decrypt/4 since=22 remove=24
crypto:block_encrypt/3 since=22 remove=24
crypto:block_encrypt/4 since=22 remove=24
crypto:cmac/3 since=22 remove=24
crypto:cmac/4 since=22 remove=24
crypto:hmac/3 since=22 remove=24
crypto:hmac/4 since=22 remove=24
crypto:hmac_final/1 since=22 remove=24
crypto:hmac_final_n/2 since=22 remove=24
crypto:hmac_init/2 since=22 remove=24
crypto:hmac_update/2 since=22 remove=24
crypto:next_iv/_ since=22 remove=24
crypto:poly1305/2 since=22 remove=24
crypto:stream_decrypt/2 since=22 remove=24
crypto:stream_encrypt/2 since=22 remove=24
crypto:stream_init/_ since=22 remove=24

net:call/4 since=22
net:cast/4 since=22
net:broadcast/3 since=22
net:ping/1 since=22
net:sleep/1 since=22
net:relay/1 since=22

sys:get_debug/3 since=22

#
# Added in OTP 21.
#

erlang:get_stacktrace/0 since=21 remove=23
ssl:ssl_accept/_ since=21 remove=24

#
# Added in OTP 20.
#

crypto:rand_uniform/2 since=20
filename:find_src/_ since=20 remove=24
gen_fsm:_/_ since=20

#
# Added in OTP 19.
#

code:rehash/0 since=19 remove=26
crypto:rand_bytes/1 since=19
queue:lait/1 since=19
random:_/_ since=19

#
# Added in OTP 18.
#

core_lib:literal_value/1 since=18 remove=19
core_lib:is_literal_list/1 since=18 remove=19
core_lib:is_literal/1 since=18 remove=19
core_lib:set_anno/2 since=18 remove=19
core_lib:get_anno/1 since=18 remove=19

erlang:now/0 since=18

erl_lint:modify_line/2 since=18 remove=19

erl_parse:get_attribute/2 since=18 remove=19
erl_parse:get_attributes/1 since=18 remove=19
erl_parse:set_line/2 since=18 remove=19

erl_scan:token_info/_ since=18 remove=19
erl_scan:attributes_info/_ since=18 remove=19
erl_scan:set_attribute/3 since=18 remove=19

ssl:connection_info/1 since=18 remove=20
ssl:negotiated_next_protocol/1 since=18 remove=20

httpd_conf:make_integer/1 since=18 remove=23
httpd_conf:is_file/1 since=18 remove=23
httpd_conf:is_directory/1 since=18 remove=23
httpd_conf:custom_clean/3 since=18 remove=23
httpd_conf:clean/1 since=18 remove=23
httpd_conf:check_enum/2 since=18 remove=23

#
# Added in OTP 17.
#

asn1ct:encode/_ since=17 remove=20
asn1ct:decode/_ since=17 remove=20

#
# Added in OTP 16.
#

snmpa:old_info_format/1 since=16 remove=24
megaco:format_versions/1 since=16 remove=24

wxCalendarCtrl:enableYearChange/1 since=16
wxCalendarCtrl:enableYearChange/2 since=16
wxDC:computeScaleAndOrigin/1 since=16
wxClientDC:new/0 since=16
wxPaintDC:new/0 since=16
wxWindowDC:new/0 since=16
wxGraphicsRenderer:createLinearGradientBrush/7 since=16
wxGraphicsRenderer:createRadialGradientBrush/8 since=16
wxGridCellEditor:endEdit/4 since=16
wxGridCellEditor:paintBackground/3 since=16
wxIdleEvent:canSend/1 since=16
wxMDIClientWindow:new/1 since=16
wxMDIClientWindow:new/2 since=16
wxPostScriptDC:getResolution/0 since=16
wxPostScriptDC:setResolution/1 since=16
wxCursor:new/3 since=16
wxCursor:new/4 since=16

#
# Added in OTP R13B03 or earlier. We don't know exactly when these were
# deprecated.
#

os_mon_mib:_/_ since=13 remove=22
erlang:hash/2 since=13 remove=20

#
# Added in OTP 12.
#

auth:is_auth/1 since=12
auth:cookie/0 since=12
auth:cookie/1 since=12
auth:node_cookie/_ since=12

calendar:local_time_to_universal_time/1 since=12

rpc:safe_multi_server_call/3 since=12 remove=19
rpc:safe_multi_server_call/2 since=12 remove=19

#
# Added in OTP 10.
#

snmp:c/1 since=10 remove=24
snmp:c/2 since=10 remove=24
snmp:compile/3 since=10 remove=24
snmp:is_consistent/1 since=10 remove=24
snmp:mib_to_hrl/1 since=10 remove=24
snmp:change_log_size/1 since=10 remove=24
snmp:log_to_txt/2 since=10 remove=24
snmp:log_to_txt/3 since=10 remove=24
snmp:log_to_txt/4 since=10 remove=24
snmp:current_request_id/0 since=10 remove=24
snmp:current_community/0 since=10 remove=24
snmp:current_address/0 since=10 remove=24
snmp:current_context/0 since=10 remove=24
snmp:current_net_if_data/0 since=10 remove=24
snmp:get_symbolic_store_db/0 since=10 remove=24
snmp:name_to_oid/1 since=10 remove=24
snmp:name_to_oid/2 since=10 remove=24
snmp:oid_to_name/1 since=10 remove=24
snmp:oid_to_name/2 since=10 remove=24
snmp:int_to_enum/2 since=10 remove=24
snmp:int_to_enum/3 since=10 remove=24
snmp:enum_to_int/2 since=10 remove=24
snmp:enum_to_int/3 since=10 remove=24
snmp:get/2 since=10 remove=24
snmp:info/1 since=10 remove=24
snmp:load_mibs/2 since=10 remove=24
snmp:unload_mibs/2 since=10 remove=24
snmp:dump_mibs/0 since=10 remove=24
snmp:dump_mibs/1 since=10 remove=24
snmp:register_subagent/3 since=10 remove=24
snmp:unregister_subagent/2 since=10 remove=24
snmp:send_notification/3 since=10 remove=24
snmp:send_notification/4 since=10 remove=24
snmp:send_notification/5 since=10 remove=24
snmp:send_notification/6 since=10 remove=24
snmp:send_trap/3 since=10 remove=24
snmp:send_trap/4 since=10 remove=24
snmp:add_agent_caps/2 since=10 remove=24
snmp:del_agent_caps/1 since=10 remove=24
snmp:get_agent_caps/0 since=10 remove=24
