<commit_before>[[breaking-changes-6.2]]
== Breaking changes in 6.2

[[breaking_62_packaging]]
[float]
=== All permission bootstrap check

Elasticsearch installs a security manager during bootstrap to mitigate the scope
of exploits in the JDK, in third-party dependencies, and in Elasticsearch itself
as well as to sandbox untrusted plugins. A custom security policy can be applied
and one permission that can be added to this policy is
`java.security.AllPermission`. However, this effectively disables the security
manager. As such, granting this permission in production mode is now forbidden
via the <<all-permission-check, all permission bootstrap check>>.<commit_msg>Add migration note on private temporary directory<commit_after>[[breaking-changes-6.2]]
== Breaking changes in 6.2

[[breaking_62_packaging]]
[float]
=== All permission bootstrap check

Elasticsearch installs a security manager during bootstrap to mitigate the scope
of exploits in the JDK, in third-party dependencies, and in Elasticsearch itself
as well as to sandbox untrusted plugins. A custom security policy can be applied
and one permission that can be added to this policy is
`java.security.AllPermission`. However, this effectively disables the security
manager. As such, granting this permission in production mode is now forbidden
via the <<all-permission-check, all permission bootstrap check>>.

=== Private temporary directory

On Linux, previous versions of Elasticsearch defaulted to using `/tmp` as the
temporary directory for the process. However, `/tmp` is public so we have
elected to change the packaging so that we use a private temporary directory. If
you are upgrading from a previous version of Elasticsearch and preserve your
existing <<jvm-options,`jvm.options`>>, you should add the line
`-Djava.io.tmpdir=${ES_TMPDIR}`. It is safe to do this on all OS as we preserve
using a private temporary directory on non-Linux systems with the same
mechanism.
{'fraction_non_alphanumeric': 0.061088295687885014, 'fraction_numerical': 0.006160164271047228, 'mean_word_length': 5.307443365695793, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3097691', 'n_tokens_mistral': 492, 'n_tokens_neox': 472, 'n_words': 260}