-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Track deprecated Core API #109232
Comments
Pinging @elastic/kibana-core (Team:Core) |
@tsullivan raised a valid concern that it's not clear when the Core team is going to remove deprecated API: #107254 |
Imho having visibility on the removal version is crucial for the other teams |
What's missing? I can look into that. I'm not aware of any public APIs that aren't being tracked (aside from packages).
Right, it only supports |
@pgayvallet I tend to agree, but it's not always possible to know in advance. If you search for
https://docs.elastic.dev/kibana-dev-docs/deprecated-api-list-by-plugin and https://docs.elastic.dev/kibana-dev-docs/deprecated-api-list-by-api don't contain any Core API besides kibana/src/core/public/application/types.ts Line 456 in 909d39b
kibana/src/core/public/application/types.ts Line 491 in 909d39b
kibana/src/core/public/application/types.ts Line 537 in 909d39b
kibana/x-pack/plugins/licensing/public/types.ts Lines 19 to 24 in 909d39b
@stacey-gammon I'm not sure the new docs system processes Core types. Does it?
Having it in the docs might be already a good start to spot API deprecated for too long.
Maybe we can require the |
Yes, it does/should. There is a bug where API declarations are not being collected recursively. I'm looking into a fix! |
++ To both of these ideas. Even though we aren't currently considering the Plugin APIs as subject to semver, it would be nice to move toward a more formal deprecation strategy for these things. A combination of |
@mshustov - the bug should be fixed now and all deprecated types should show up here: https://docs.elastic.dev/kibana-dev-docs/deprecated-api-list-by-api#referenced-deprecated-apis. Let me know if any are missing. |
@stacey-gammon, I can confirm it's fixed. Should I create a dedicated issue to enforce |
Similar to how I emailed a proposal for @removeBy, I think we should send one out for @deprecatedIn and @example (although I actually prefer @learnmore {link} ), then if no objections, create an issue and add Ops team and APIDocs label and I will see when I can get around to it. |
closing as done |
Kibana Core and Core-team-owned plugins provide API that can be leveraged by other Kibana plugins to build functionality on top of it.
Currently, the Core team doesn't have any deprecation policy for such program API. While plugin API is not subject to semver, we still provide some time for plugin authors to migrate from the obsolete API to an alternative version. To avoid the accumulation of technical debt due to deprecated API support over a long time, we should track such deprecated API along with some additional data:
As I can see, the new dev docs already collect the list of Kibana plugin deprecated API: https://docs.elastic.dev/kibana-dev-docs/deprecated-api-list-by-plugin. But it doesn't seem to cover the whole Core API surface. We need to add support for the new documentation system to Kibana Core to leverage this functionality.
Also, I don't believe the new docs system tracks a Kibana version in which an API has been deprecated nor enforces docs with migration examples. @stacey-gammon do you think it's something we might be interested to add to the new doc system?
Note: this issue doesn't cover the public API of Kibana (such as config settings, HTTP endpoints) as they might have a different deprecation policy defined by the product requirements.
The text was updated successfully, but these errors were encountered: