[[breaking-changes-7.4]] == Breaking changes in 7.4 ++++ 7.4 ++++ This section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 7.4. See also <> and <>. coming[7.4.0] //NOTE: The notable-breaking-changes tagged regions are re-used in the //Installation and Upgrade Guide //tag::notable-breaking-changes[] // end::notable-breaking-changes[] [[breaking_74_plugin_changes]] === Plugins changes [float] ==== TokenizerFactory changes TokenizerFactory now has a `name()` method that must be implemented. Most plugin-provided TokenizerFactory implementations will extend `AbstractTokenizerFactory`, which now takes a `name` parameter in its constructor. [float] [[breaking_74_search_changes]] === Search Changes [float] ==== Forbid empty doc values in vector functions If a document doesn't have a value for a vector field (dense_vector or sparse_vector) on which a vector function is executed, an error will be thrown. [float] [[breaking_74_snapshots_changes]] === Snapshot and Restore changes [float] ==== The S3 repository plugin uses the DNS style access pattern by default Starting in version 7.4 the `repository-s3` plugin does not use the now-deprecated path-style access pattern by default. In versions 7.0, 7.1, 7.2 and 7.3 the `repository-s3` plugin always used the path-style access pattern. This is a breaking change for deployments that only support path-style access but which are recognized as supporting DNS-style access by the AWS SDK. If your deployment only supports path-style access and is affected by this change then you must configure the S3 client setting `path_style_access` to `true`. This breaking change was made necessary by https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/[AWS's announcement] that the path-style access pattern is deprecated and will be unsupported on buckets created after September 30th 2020. [float] [[breaking_80_http_changes]] === HTTP changes [float] ==== Changes to Encoding Plus Signs in URLs Starting in version 7.4, a `+` in a URL will be encoded as `%2B` by all REST API functionality. Prior versions handled a `+` as a single space. If your application requires handling `+` as a single space you can return to the old behaviour by setting the system property `es.rest.url_plus_as_space` to `true`. Note that this behaviour is deprecated and setting this system property to `true` will cease to be supported in version 8.