GENERATE[html/man7/ossl-guide-tls-server-block.html]=man7/ossl-guide-tls-server-block.pod
DEPEND[man/man7/ossl-guide-tls-server-block.7]=man7/ossl-guide-tls-server-block.pod
GENERATE[man/man7/ossl-guide-tls-server-block.7]=man7/ossl-guide-tls-server-block.pod
+DEPEND[html/man7/ossl-removed-api.html]=man7/ossl-removed-api.pod
+GENERATE[html/man7/ossl-removed-api.html]=man7/ossl-removed-api.pod
+DEPEND[man/man7/ossl-removed-api.7]=man7/ossl-removed-api.pod
+GENERATE[man/man7/ossl-removed-api.7]=man7/ossl-removed-api.pod
DEPEND[html/man7/ossl_store-file.html]=man7/ossl_store-file.pod
GENERATE[html/man7/ossl_store-file.html]=man7/ossl_store-file.pod
DEPEND[man/man7/ossl_store-file.7]=man7/ossl_store-file.pod
html/man7/ossl-guide-tls-client-non-block.html \
html/man7/ossl-guide-tls-introduction.html \
html/man7/ossl-guide-tls-server-block.html \
+html/man7/ossl-removed-api.html \
html/man7/ossl_store-file.html \
html/man7/ossl_store.html \
html/man7/passphrase-encoding.html \
man/man7/ossl-guide-tls-client-non-block.7 \
man/man7/ossl-guide-tls-introduction.7 \
man/man7/ossl-guide-tls-server-block.7 \
+man/man7/ossl-removed-api.7 \
man/man7/ossl_store-file.7 \
man/man7/ossl_store.7 \
man/man7/passphrase-encoding.7 \
--- /dev/null
+=pod
+
+=head1 NAME
+
+removal - How to do Public API removal
+
+=head1 DESCRIPTION
+
+Removal of a public function should only be done after it has been
+previously deprecated as documented in L<deprecation(7)>.
+
+Once you are ready to remove a deprecated function, you need to
+ensure one or more of the following things is true:
+
+=over 4
+
+=item There is a usually straightforward one-to-one replacement of the
+deleted function with a new function.
+
+=item The previous release documents how to replace the function. If
+you feel this documentation is inadequate or incomplete, consider
+updating it if a maintenance release will happen.
+
+=item Details on how to replace the function are provided in
+L<ossl-guide-migration(7)>. If the replacement is complex and was
+not adequately documented in the past release, it is a good idea
+to write a reasonable section here.
+
+=back
+
+Once that is done, you should prepare your PR that removes the
+function, internal uses, and documentation.
+
+Your PR removing functions should include adding the function to the
+list in L<ossl-removed-api(7)> with an appropriate entry. Keep it short and
+simple. Each entry in the list for a version may include a quick link
+to the usual replacement such as:
+
+=over 4
+
+=item SIMPLE-removed-function (Deprecated in 3.0.0) see SIMPLE-replacement-function(3)
+
+=back
+
+If is more complex, mention that the documentation for a previous version should be
+consulted, such as:
+
+=over 4
+
+=item REMOVED-morecomplex (Deprecated in 3.0.0) Consult the documentation in OpenSSL 3.6
+
+=back
+
+Alternatively, if a section covering this is in the migration guide:
+
+=over 4
+
+=item ENGINE-allthethings (Deprecated in 3.0.0) Consult L<ossl-guide-migration(7)>.
+
+=back
+
+The list should NOT include a long migration guide. That should have been present
+in the previous version documentation, or added to ossl-guide-migration.pod
+
+=head1 SEE ALSO
+
+L<deprecation(7)>
+L<ossl-guide-migration(7)>
+
+=head1 COPYRIGHT
+
+Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
+
+Licensed under the Apache License 2.0 (the "License"). You may not use
+this file except in compliance with the License. You can obtain a copy
+in the file LICENSE in the source distribution or at
+L<https://www.openssl.org/source/license.html>.
+
+=cut
For an overview of some of the key concepts introduced in OpenSSL 3.0 see
L<crypto(7)>.
+=head1 OPENSSL 4.0
+
+=head2 Main Changes from OpenSSL 3.6
+
+=head3 Major Release
+
+OpenSSL 4.0 is a major release and consequently any application that
+currently uses an older version of OpenSSL will at the very least need
+to be recompiled in order to work with the new version. It is the
+intention that many applications will work unchanged with OpenSSL
+4.0 if those applications previously worked with OpenSSL 3.6 and did
+not use deprecated API. However this is not guaranteed and some
+changes may be required in some cases. Changes may be required to
+applications using previously deprecated API. Changes may also be
+required if applications need to take advantage of some of the new
+features available in OpenSSL 4.0.
+
+Some functions have been removed that were deprecated in previous
+versions of OpenSSL. See L<ossl-removed-api(7)>.
+
=head1 OPENSSL 3.6
=head2 Main Changes from OpenSSL 3.5
--- /dev/null
+=pod
+
+=head1 NAME
+
+ASN1_STRING_data,
+ossl-removed-api - API that has been removed from OpenSSL
+
+=head1 SYNOPSIS
+
+This page lists API that has been removed from OpenSSL, and when it was removed.
+
+=head1 DESCRIPTION
+
+This page documents a list of API that has been removed from
+OpenSSL. Functions are not removed until they have been deprecated for
+some time (Normally at least one major OpenSSL release, if not
+more). This means that during at least one previous major release of
+OpenSSL, deprecation warnings would have been emitted at compile time
+when using this function, and the documentation would have contained
+information on how to move away from the deprecated API.
+
+Once a deprecated function is removed, The documentation for that
+function will also be removed in order to keep the documentation
+relevant to the current release. Normally, you should consult a
+previous major release of OpenSSL where this function still existed,
+and make changes to your code to no longer use the function as
+documented in that release.
+
+This includes consulting the L<ossl-guide-migration(7)> documentation.
+
+=head1 OPENSSL 4.0
+
+=over 4
+
+=item ASN1_STRING_data (Deprecated in 1.1.1) - see L<ASN1_STRING_get0_data(3)>
+
+=back
+
+=head1 SEE ALSO
+
+L<ossl-guide-migration(7)>
+
+=head1 COPYRIGHT
+
+Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
+
+Licensed under the Apache License 2.0 (the "License"). You may not use
+this file except in compliance with the License. You can obtain a copy
+in the file LICENSE in the source distribution or at
+L<https://www.openssl.org/source/license.html>.
+
+=cut
+