Unexpected API Changes in 5.3?

User 6f5b13c404

22-04-2010 13:25:36

Hi,


After having a dry run with version 5.2, I started my attempt to upgrade some code written against an ancient version of JChem, this time using 5.3.2, the latest version.


I have discovered that in addition to the issues I have previously encountered and resolved, some other changes have been made even since 5.2.


Class  PFParameters, which has always derived from MDParameters in chemaxon.descriptors, appears to have been moved from chemaxon.pharmacophore to the package chemaxon.descriptors (i.e. it is now in the same package as its superclass, logically enough). Something similar has happend to PharmacophoreFingerprint.


I couldn't find this recorded in the change log? Is this an oversight?


Is there anything written down anywhere governing your version number policy for breaking API changes?


This isn't supposed to be accusatory - I might just be looking in the wrong place for the info and overlooked it.


Many thanks,


Ahmed

ChemAxon efa1591b5a

27-04-2010 11:32:22

Dear Ahmed,


This is just a quick confirmation that your enquiry has been dealt with. We'll get back to you shortly. 


Thank you for your patience and please accept our apologies for any inconvenience this problem might cause.


Regards,


Miklos

ChemAxon efa1591b5a

29-04-2010 14:38:29

Dear Ahmed,


The change in the API was intentional but the lack of any record in the change log is a serious mistake. We will include a short notice in the list of changes in the next minor release.


Our policy for changing the API follows the java conventions, thus methods and classes are deprecated first and are included in the minor releases following the deprecation as well as in the next major release. That normally gives a year for developers to move to the new API. Then the deprecated methods are discontinued.


This time we did not committed ourselves to this general principle and I apologise for the inconvenience this might cause.


We would be glad to learn more about the way how you use pharmacophore fingerprint or other molecular descriptors and what are the typical problems you solve with these tool.


 


Kind regards


Miklos

User 6f5b13c404

29-04-2010 14:49:58

Hi,


Thanks for investigating - I wasn't inconvenienced at all, just mildly perplexed after thinking I'd done the hard work in getting things working with 5.2!


I wanted to know your versioning policy because historically you have released versions much more frequently than we have. We don't redistribute the ChemAxon jars ourselves, but we provide a mechanism for users to upload them into our system. I was hoping that it will be possible for them to drop in a later version of your libraries than we have coded against without our having to issue a maintenance release. It sounds like provided we do not release code using APIs already marked deprecated, then barring accidents it ought to work.


 


Many thanks,


Ahmed Hussain

ChemAxon efa1591b5a

05-05-2010 07:15:03

Hi,


What if we put back pharmacophore fingerprint related classes in the .pharmacophore package, deprecated though?


Miklos

User 6f5b13c404

05-05-2010 07:26:01

Hi,


I've already fixed our code to point to the new location, so it doesn't actually matter to me (it would, however, be annoying if you *moved* everything back, rather than having the code in both the new and old places!) It might be beneficial to others migrating to 5.3, though? Because this was a package structure reorganization rather than a method deprecation, I'm not sure there were any warnings in advance of the move? I hadn't checked exhaustively, though.


It was never a showstopper for me, just a surprise... The main reason I posted the question was just to find out your policies on API changes so that I could assess the likelihood of our customers being able to keep up with ChemAxon improvements without our needing to issue new versions as frequently as you do.


Many thanks once again for your conscientious customer service.


Ahmed