Points to Remember While Doing a Library Upgrade
- Identify what current version is being used
- Identify what is the latest version
- Identify what changes have been made that are applicable to our software
- A good place to get this information is changelogs
- Important changes include bug fixes as well as new features
- Identify the classes in our software that use this library
- The Unix command grep may come in handy here
- Check if there are any alternative implementations such that the library jar is not required. For example in case of JSci library upgrade it is a good idea to check if a new version of JMSL has any implementation that eliminates the need for JSci.
- In other words, reducing the number of library dependencies is a consideration.
- Speed and size of the new library jar may also be considerations.
- Always test out new libraries on a try branch (see chapter in Pragmatic Version Control for details).
- If the library upgrade is done then place the old version of the library in the deprecated folder. For example JSci-0.9 was placed in the deprecated folder of hdbstat/vendor/lib/deprecated after an upgrade to JSci-core-0.93 was performed.
- Remember to sign the jar before committing. This is not generally necessary, but it makes sense for HDBSTAT, since we deploy it using JAWS. (Thanks Vinodh).