[[breaking_60_plugins_changes]]
=== Plugins changes

==== Mapper attachments plugin

* The mapper attachments plugin has been deprecated in elasticsearch 5.0 and is now removed.
You can use {plugins}/ingest-attachment.html[ingest attachment plugin] instead.

==== S3 Repository plugin

* The bucket an s3 repository is configured with will no longer be created automatically.
It must exist before the s3 repository is created.

* Support for specifying s3 credentials through environment variables and
system properties has been removed. Use the `elasticsearch-keystore` tool
to securely store the credentials.

* Specifying region has been removed. This includes the settings `cloud.aws.region`,
`cloud.aws.s3.region`, `repositories.s3.region`, and specifying
region inside the repository settings. Instead, specify the full endpoint if a custom
s3 location is needed, or rely on the default behavior which automatically locates
the region of the configured bucket.

* Specifying s3 signer type has been removed, including `cloud.aws.signer` and `cloud.aws.s3.signer`.

* Global repositories settings have been removed. This includes `repositories.s3.bucket`,
`repositories.s3.server_side_encryption`, `repositories.s3.buffer_size`,
`repositories.s3.max_retries`, `repositories.s3.use_throttle_retries`,
`repositories.s3.chunk_size`, `repositories.s3.compress`, `repositories.s3.storage_class`,
`repositories.s3.canned_acl`, `repositories.s3.base_path`, and 
`repositories.s3.path_style_access`. Instead, these settings should be set directly in the
 settings per repository.
 See {plugins}/repository-s3-repository.html[S3 Repository settings].

* Shared client settings have been removed. This includes  `cloud.aws.access_key`,
 `cloud.aws.secret_key`, `cloud.aws.protocol`, `cloud.aws.proxy.host`,
 `cloud.aws.proxy.port`, `cloud.aws.proxy.username`, `cloud.aws.proxy.password`,
 `cloud.aws.signer`, `cloud.aws.read_timeout`, `cloud.aws.s3.access_key`,
 `cloud.aws.s3.secret_key`, `cloud.aws.s3.protocol`, `cloud.aws.s3.proxy.host`,
 `cloud.aws.s3.proxy.port`, `cloud.aws.s3.proxy.username`, `cloud.aws.s3.proxy.password`,
 `cloud.aws.s3.signer`, `cloud.aws.s3.read_timeout`, `repositories.s3.access_key`,
 `repositories.s3.secret_key`, `repositories.s3.endpoint` and `repositories.s3.protocol`.
Instead, use the new named client settings under `s3.client.CLIENT_NAME.*`.

==== Azure Repository plugin

* The container an azure repository is configured with will no longer be created automatically.
It must exist before the azure repository is created.

* Global repositories settings you are able to set in elasticsearch config file under `repositories.azure`
name space have been removed. This includes `repositories.azure.account`, `repositories.azure.container`,
`repositories.azure.base_path`, `repositories.azure.location_mode`, `repositories.azure.chunk_size` and
`repositories.azure.compress`.
You must set those settings per repository instead. Respectively `account`, `container`, `base_path`,
`location_mode`, `chunk_size` and `compress`.
See {plugins}/repository-azure-usage.html#repository-azure-repository-settings[Azure Repository settings].

==== GCS Repository plugin

* The `service_account` setting has been removed. A service account json credential file must now be
specified in the <<secure-settings, elasticsearch keystore>>.

==== EC2 Discovery plugin

* Specifying ec2 signer type has been removed, including `cloud.aws.signer` and `cloud.aws.ec2.signer`.

* The region setting has been removed. This includes the settings `cloud.aws.region`
and `cloud.aws.ec2.region`. Instead, specify the full endpoint.

* All `cloud.aws.*` and `cloud.aws.ec2.*` settings have been removed. Use `discovery.ec2.*` settings instead.

==== Ignoring hidden folders

Previous versions of Elasticsearch would skip hidden files and directories when
scanning the plugins folder. This leniency has been removed.
