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 #66

Open
czchen opened this issue Jul 4, 2014 · 8 comments
Open

API stability #66

czchen opened this issue Jul 4, 2014 · 8 comments
Milestone

Comments

@czchen
Copy link
Contributor

czchen commented Jul 4, 2014

When preparing 1.3.3 for debian, I found that two APIs r3_route_create and r3_tree_insert_pathl are removed. Also, several APIs like zcalloc, zfree are exported in 1.3.1. Since library API change requires transitions, is there any plan to provide stable API and hide private functions from exporting in next version?

@c9s
Copy link
Owner

c9s commented Jul 5, 2014

I just checked and found route * r3_route_create(const char * path) is still there. ^^

@c9s
Copy link
Owner

c9s commented Jul 5, 2014

r3_tree_insert_pathl is now a macro, which calls r3_tree_insert_pathl_ex to insert path.

@c9s
Copy link
Owner

c9s commented Jul 5, 2014

is there any plan to provide stable API and hide private functions from exporting in next version?

yes, but I think it's something we will do 3+ month later. :-)

zmalloc related functions were moved into 3rdparty directory, I think we can remove the exported symbol.

@czchen
Copy link
Contributor Author

czchen commented Jul 5, 2014

Sorry, the term API is misunderstood. I actual want to say is ABI (application binary interface). Since r3_route_create is macro, it is not part of ABI.

For ABI, you can use prefix like r3 and use -export-symbols-regex to limit the exported symbols so that it won't cause any symbol collision.

@c9s
Copy link
Owner

c9s commented Jul 9, 2014

Got it. is it also a policy of the debian package system?

@czchen
Copy link
Contributor Author

czchen commented Jul 9, 2014

API name suggestion is not related to debian. The purpose of API name with prefix r3 is to let developer use different libraries without worrying about API name collision.

@c9s
Copy link
Owner

c9s commented Oct 26, 2015

Hi @czchen,

I think I would plan/refactor the stable API in version 2.0 (including hide the zfree ... functions)

@c9s c9s modified the milestone: 2.0 Oct 26, 2015
@czchen
Copy link
Contributor Author

czchen commented Oct 26, 2015

Hi @c9s,

No problem. Just don't forget to bump so version so that it is more easily to do the incompatibility upgrade.

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

No branches or pull requests

2 participants