Versioning PDF Java Toolkit

Versioning PDF Java Toolkit

Earlier this year we changed how we version our PDF Java Toolkit from a date based system to something that we think makes a little more sense for a toolkit – semantic versioning. While there are those who are against semantic versioning, we believe it is another mechanism for us to alert to our customers when certain changes are made. We know that we cannot sit down with each of our customers and explain in detail what has changed, and how it is going to impact their projects. There just aren’t enough hours in the day.

If you are not familiar with semantic versioning, it is certainly worth a read and I would do a poor job of explaining it here if I tried. What it means specifically for our customers though is:

  • Changes to the Major (X.0.0, X indicates the major version number) version number means we changed an API or how something functioned in a manner that is not compatible with previous versions
  • Changes to the Minor (0.X.0, X indicates the minor version number) version number means we changed an API or how something functioned in a manner that is backwards compatible with previous versions
  • Changes to the Patch (0.0.X, X indicates the patch version number) version number means we fixed some bugs that were annoying you!

By moving to semantic versioning for PDF Java Toolkit, we are adding another way for our customers to know when we have made changes that could impact their applications so that they can plan for these rather than being surprised by them. The worst that happens is you plan extra time to test upgrading from one version of our toolkit to the next and you have to make changes to your application. The best that happens is you plan extra time to test upgrading and you find that everything still works because the changes did not impact your application.

You do read the release notes we ship with PDF Java Toolkit (or our other products) right?

Any questions? Please contact us!

Leave a Reply

Your email address will not be published. Required fields are marked *