Skip to content
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

API stability proposal #3390

Open
mattklein123 opened this issue May 15, 2018 · 12 comments
Open

API stability proposal #3390

mattklein123 opened this issue May 15, 2018 · 12 comments

Comments

@mattklein123
Copy link
Member

This is an extension of the conversation started in:
https://docs.google.com/document/d/1eDQQSxqx2khTXfa2vVm4vqkyRwXYkPzZCcbjxJ2_AvA/edit?ts=5af97a4e

Ultimately, we would like to stabilize the API and have a deprecation period like we do for config changes. Getting there is going to take a bunch of thought and a solid plan. We also need to make sure we don't reduce velocity when the project is still relatively young.

Related to #827

cc @brian-pane @htuch @alyssawilk @envoyproxy/maintainers

@htuch
Copy link
Member

htuch commented May 15, 2018

FWIW, and not that I think it's a good idea, but if we ever want to support binary modules with a stable ABI (e.g. as with vendor supplied Linux kernel binary drivers), this would be needed.

@ggreenway
Copy link
Contributor

I think we should wait for this until the project is more mature. Or at most make this a best-effort idea. I don't want to restrict refactoring and code-cleanup due to out-of-tree code.

@lizan
Copy link
Member

lizan commented May 17, 2018

I think we should wait for this until the project is more mature. Or at most make this a best-effort idea. I don't want to restrict refactoring and code-cleanup due to out-of-tree code.

That was my feeling when I filed #2925 and I agree. Tough I would love to see some level of API stability for a subset of them.

@dnoe
Copy link
Contributor

dnoe commented May 8, 2019

Noting here for future reference that PR #6826 was the sort of thing that caused breakage after a subtle internal API change, and we should make sure that the API stability proposal covers this kind of case.

@htuch
Copy link
Member

htuch commented May 8, 2019

@dnoe are you talking about internal API/ABI stability or Envoy's control and configuration APIs?

@dnoe
Copy link
Contributor

dnoe commented May 8, 2019

Internal, basically the extensions APIs. We need to think especially carefully about how we communicate and what the process looks like for cases where the API changes in ways that would not immediately break compilation.

@htuch
Copy link
Member

htuch commented May 8, 2019

Yeah, there's a lot of work to be done here. I actually was confused by the title, it's the same almost as my current proposal on external API stability :)

@mattklein123
Copy link
Member Author

FYI I think the current plan here is to adopt the WASM ABI as our stable filter API.

@htuch
Copy link
Member

htuch commented Feb 10, 2023

@mattklein123 any update to thinking here or should we close this out with #3390 (comment) as PoR?

@mattklein123
Copy link
Member Author

@mattklein123 any update to thinking here or should we close this out with #3390 (comment) as PoR?

Sorry which comment as the PoR? I'm not sure we have any good plan here still.

@htuch
Copy link
Member

htuch commented Feb 14, 2023

The one I linked to (#3390 (comment)). Basically, we will use Wasm ABI as the only stable ABI for filters (Wasm, C++ NullVm etc).

@mattklein123
Copy link
Member Author

I don't know that we have made any progress on this one way or the other. Practically, the Wasm ABI is the only way today to have any hope of a stable ABI. I would be fine just saying this is the way it always will be but I don't feel super strongly about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants