-
-
Notifications
You must be signed in to change notification settings - Fork 548
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
ABI stability policy #23
Comments
Apologies, I hadn't thought about this. Since we're currently pegging major [EDIT: minor] to the spec version, option 1 is a bit constraining. So maybe option 2 is best for now. We can change back when we stabilize the spec and libcmark. Do you want to make this change? +++ Nick Wellnhofer [Mar 31 15 03:32 ]:
|
See pull request #25. |
Thanks for the PR (merged). Do you think we should release 0.18.3 now with this change? |
If it isn't too much work, it would be nice to make a new release. |
Will do. |
The addition of the
options
parameter tocmark_markdown_to_html
in version 0.18.2 breaks the API and ABI. Since the soname of libcmark is currently based on major and minor version (0.18), this can cause problems. If someone updates the libcmark binary from 0.18.1 to 0.18.2, any code compiled against the old version will callcmark_markdown_to_html
without anoptions
argument. There won't be a linker error because the soname matches.We should make sure to always bump the library's soname if the ABI changes. I can see the following solutions:
The second approach puts the least burden on the release manager and, at least for now, shouldn't be too annoying for users.
The text was updated successfully, but these errors were encountered: