Hello, While having a look at the changes done in 0.9.5 to fix several CVEs, I noticed a quite easy to fix ABI incompatible change that was introduced in r1835. In that patch, a new ePdfError_BrokenFile constant was added to the EPdfError enum, the problem is that it was inserted between other values, so that changed the values of all the constants below it.
This breaks the ABI, since code built to check for a value will check for a different integer value in 0.9.5 and 0.9.6. This can be fixed as easily as moving the new ePdfError_BrokenFile constant to the end of the enum list (right before ePdfError_Unknown = 0xffff). Then I checked the full list of changes between 0.9.5 and current code in trunk and noticed there are many changes that give an incompatible ABI with respect to 0.9.5 . Is there any policy with respect to maintaining ABI compatibility in different versions of the library? I think it's important for users to keep a compatible ABI, as otherwise, any update forces a rebuild of all applications using podofo, and some times, that's not easy for users to do. Btw, in this link there's a list of things that can and can't be done when developing a library in order to keep a compatible ABI, just in case it's useful: https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B Thanks! -- Antonio Larrosa ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users