[[breaking-changes-2.2]] == Breaking changes in 2.2 This section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 2.2. [[float]] === Mapping APIs ==== Geo Point Type The `geo_point` format has been changed to reduce index size and the time required to both index and query geo point data. To make these performance improvements possible both `doc_values` and `coerce` are required and therefore cannot be changed. For this reason the `doc_values` and `coerce` parameters have been removed from the <> field mapping. [float] === Scripting and security The Java Security Manager is being used to lock down the privileges available to the scripting languages and to restrict the classes they are allowed to load to a predefined whitelist. These changes may cause scripts which worked in earlier versions to fail. See <> for more details. [float] === Field stats API The field stats' response format has been changed for number based and date fields. The `min_value` and `max_value` elements now return values as number and the new `min_value_as_string` and `max_value_as_string` return the values as string. [float] === Default logging using systemd In previous versions of Elasticsearch using systemd, the default logging configuration routed standard output to `/dev/null` and standard error to the journal. However, there are often critical error messages at startup that are logged to standard output rather than standard error and these error messages would be lost to the ether. The default has changed to now route standard output to the journal and standard error to inherit this setting (these are the defaults for systemd). These settings can be modified by editing the `elasticsearch.service` file. [float] === Java Client Previously it was possible to iterate over `ClusterHealthResponse` to get information about `ClusterIndexHealth`. While this is still possible, it requires now iterating over the values returned from `getIndices()`: [source,java] --------------- ClusterHealthResponse clusterHealthResponse = client.admin().cluster().prepareHealth().get(); for (Map.Entry index : clusterHealthResponse.getIndices().entrySet()) { String indexName = index.getKey(); ClusterIndexHealth health = index.getValue(); } --------------- [float] === Cloud AWS Plugin Proxy settings have been deprecated and renamed: * from `cloud.aws.proxy_host` to `cloud.aws.proxy.host` * from `cloud.aws.ec2.proxy_host` to `cloud.aws.ec2.proxy.host` * from `cloud.aws.s3.proxy_host` to `cloud.aws.s3.proxy.host` * from `cloud.aws.proxy_port` to `cloud.aws.proxy.port` * from `cloud.aws.ec2.proxy_port` to `cloud.aws.ec2.proxy.port` * from `cloud.aws.s3.proxy_port` to `cloud.aws.s3.proxy.port` If you are using proxy settings, update your settings as deprecated ones will be removed in next major version. [float] === Multicast plugin deprecated The `discovery-multicast` plugin has been deprecated in 2.2.0 and has been removed in 3.0.0.