<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">This sounds reasonable to me, I am generally +1 on documenting things that are well known but not written down.<div class=""><br class=""></div><div class="">Thanks Varun!</div><div class=""><br class=""></div><div class="">-Chris<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jul 21, 2020, at 5:16 PM, Varun Gandhi via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">The Developer Policy document (<a href="https://llvm.org/docs/DeveloperPolicy.html" class="">https://llvm.org/docs/DeveloperPolicy.html</a>) contains a Section "C API Changes". There is no corresponding section for C++ API Changes. LLVM is somewhat different from most libraries in that the main language is C++ but the C++ API is not guaranteed to be stable in any shape or form from what I understand.<div class=""><br class=""></div><div class="">I think it would be useful to have a "C++ API Changes" section to Developer Policy spelling this out. Copying the style of the C API Changes section, it could look something like:</div><div class=""><br class=""></div><div class="">---</div><div class="">C++ API Changes<br class=""><br class="">* <span style="caret-color: rgb(0, 0, 0);" class="">Stability Guarantees: The C++ API is does not guarantee any sta</span><span style="caret-color: rgb(0, 0, 0);" class="">bility. Changes may be made without any notice about deprecation and alternate APIs for the same functionality may not be included. Downstream projects using the C++ API are expected to keep up with changes.</span></div><div class=""><font class=""><span style="caret-color: rgb(0, 0, 0);" class="">* Release stability: The C++ API does not make any stability guarantees for the release branch.</span></font></div><div class=""><font class=""><span style="caret-color: rgb(0, 0, 0);" class="">* Testing: </span></font><span style="caret-color: rgb(0, 0, 0);" class="">Patches to the C++ API are expected to come with tests just</span><span style="caret-color: rgb(0, 0, 0);" class=""> </span><span style="caret-color: rgb(0, 0, 0);" class="">like any other patch.</span></div><div class=""><font class=""><span style="caret-color: rgb(0, 0, 0);" class="">* </span></font><span style="caret-color: rgb(0, 0, 0);" class="">Including new things into the API: [TODO: I'm not sure what should go here]</span><span style="caret-color: rgb(0, 0, 0);" class="">.</span></div><div class=""><font class=""><span style="caret-color: rgb(0, 0, 0);" class="">* </span></font>Documentation: Changes to the C++ API are not expected to be documented in the release notes.</div><div class="">---</div><div class=""><br class=""></div><div class="">Clang does have a page with information about its own C++ API (<a href="https://clang.llvm.org/docs/Tooling.html" class="">https://clang.llvm.org/docs/Tooling.html</a>) which is more informative, but I think it would useful to have this information on the Developer Policy page for the whole of LLVM.</div><div class=""><br class=""></div><div class="">Does this addition sound reasonable?</div><div class=""><br class=""></div><div class="">Varun</div></div>_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></div></body></html>