elastic / elasticsearch-php

Official PHP client for Elasticsearch.
https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html
MIT License
27 stars 971 forks source link

elasticsearch/elasticsearch 6.8.0 removes IndicesNamespace::deleteMapping #1235

Closed cweiske closed 2 years ago

cweiske commented 2 years ago

Summary of problem or feature request

Version 6.8.0 removes the method Elasticsearch\Namespaces\IndicesNamespace::deleteMapping() with commit 2da5f9337a269113954a84fe8e79ea6843f0e7c3.

This method existed in 6.7.2.

Per semantic versioning, feature releases like the update from 6.7 to 6.8 may not break existing APIs, and here the API has been broken. This leads to problems in the drupal module elasticsearch_connector: https://www.drupal.org/project/elasticsearch_connector/issues/2824539

ezimuel commented 2 years ago

@cweiske this is a very old feature that has been removed in Elasticsearch 2.0. Unfortunately, since v.6.8.0 we didn't have a code generator in place and this Elasticsearch\Namespaces\IndicesNamespace::deleteMapping() remained unsed since than. This means even if elasticsearch-php exposes it this do not have any effect on Elasticsearch :disappointed: . With 6.8.0 we released a code generator for mapping the Elasticsearch API specification. That's why this function has been removed automatically since it was not anymore part of the latest API. We should have included this in the BREAKING_CHANGES.md file. I'm sorry for the inconvenient :cry:

cweiske commented 2 years ago

Putting it into BREAKING_CHANGES.md would not have helped, because you still would have broken the semantic versioning contract. Having an empty deleteMapping() method would be the correct way to fix this in 6.x, while in 7.x and later it could safely be removed.