[[migrating-8.0]] == Migrating to 8.0 ++++ 8.0 ++++ This section discusses the changes that you need to be aware of when migrating your application to {es} 8.0. See also <> and <>. coming::[8.0.0] [discrete] [[breaking-changes-8.0]] === Breaking changes The following changes in {es} 8.0 might affect your applications and prevent them from operating normally. Before upgrading to 8.0, review these changes and take the described steps to mitigate the impact. NOTE: Breaking changes introduced in minor versions are normally limited to security and bug fixes. Significant changes in behavior are deprecated in a minor release and the old behavior is supported until the next major release. To find out if you are using any deprecated functionality, enable <>. include::migrate_8_0/_cluster-node-setting-changes.asciidoc[] include::migrate_8_0/_command-line-tool-changes.asciidoc[] include::migrate_8_0/_index-setting-changes.asciidoc[] include::migrate_8_0/_java-api-changes.asciidoc[] include::migrate_8_0/_jvm-option-changes.asciidoc[] include::migrate_8_0/_logging-changes.asciidoc[] include::migrate_8_0/_mapping-changes.asciidoc[] include::migrate_8_0/_packaging-changes.asciidoc[] include::migrate_8_0/_painless-changes.asciidoc[] include::migrate_8_0/_rest-api-changes.asciidoc[] include::migrate_8_0/_system-req-changes.asciidoc[] include::migrate_8_0/transform.asciidoc[] [discrete] [[deprecated-8.0]] === Deprecations The following functionality has been deprecated in {es} 8.0 and will be removed in 8.0 While this won't have an immediate impact on your applications, we strongly encourage you take the described steps to update your code after upgrading to 8.0. NOTE: Significant changes in behavior are deprecated in a minor release and the old behavior is supported until the next major release. To find out if you are using any deprecated functionality, enable <>. //NOTE: The notable-breaking-changes tagged regions are re-used in the //Installation and Upgrade Guide //tag::notable-breaking-changes[] [discrete] [[breaking_80_cluster_node_setting_deprecations]] ==== Cluster and node setting deprecations [[deprecate-transient-cluster-settings]] .Transient cluster settings are deprecated. [%collapsible] ==== *Details* + Starting in 7.16, transient cluster settings are deprecated and will be removed in a future release. This is because transient cluster settings have an unpredictable lifecycle. Transient cluster settings do not survive full cluster restarts or cluster instability. In these cases, {es} recovers the cluster state from persistent storage, effectively erasing the transient settings. The loss of transient settings can happen unexpectedly, leading to a potentially undesired cluster configuration. *Impact* + To avoid deprecation warnings, discontinue use of transient settings when modifying your cluster settings through the `PUT _cluster/settings` REST API. Use persistent settings instead. See the {ref}/transient-settings-migration-guide.html[Transient settings migration guide]. ==== //end::notable-breaking-changes[] [discrete] [[breaking_80_command_line_tool_deprecations]] ==== Command line tool deprecations TIP: {ess-skip-section} [[deprecate-elasticsearch-setup-passwords]] .The `elasticsearch-setup-passwords` tool is deprecated. [%collapsible] ==== *Details* + The `elasticsearch-setup-passwords` tool is deprecated in 8.0. To manually reset the password for built-in users (including the `elastic` user), use the {ref}/reset-password.html[`elasticsearch-reset-password`] tool, the {es} {ref}/security-api-change-password.html[change passwords API], or the User Management features in {kib}. `elasticsearch-setup-passwords` will be removed in a future release. *Impact* + Passwords are generated automatically for the `elastic` user when you start {es} for the first time. If you run `elasticsearch-setup-passwords` after starting {es}, it will fail because the `elastic` user password is already configured. ==== include::migrate_8_0/migrate_to_java_time.asciidoc[] include::transient-settings-migration-guide.asciidoc[]