RLM Backwards Compatibility: Is RLM v10 backward compatible with RLM v8.0?
This question often comes up. The general question is, how is backward compatibility handled in RLM?
On the license server side, the rules we have always followed (and we expect to always follow in the future), are these:
- You can always use a newer version of rlm with an older ISV server
- You can always use a newer version of license server (both rlm and the ISV server) with an older client (application)
- You can, of course, always use the same version of application and license server.
So, for example, let’s say you have an application that is built with RLM v7.0. This application will work with any of these combinations of servers:
- rlm v10.0 and ISV server v7.0 thru v10.0
- rlm v9.0 and ISV server v7.0 thru v9.0
- rlm v8.0 and ISV server v7.0 thru v8.0
- rlm v7.0 and ISV server v7.0
There is one caveat to this general rule, and it applies to ISVs who ship server settings files rather than server binaries. A server settings file allows the ISV to specify the newest and/or oldest version of RLM with which it will operate. By default, they operate within the rules outlined above, but the individual ISV can override this. So the instructions from your ISV (if they use settings files) will always override these general rules.
What this means, in practice, is that if you have a multiple-ISV RLM installation, you can always take the newer copy of rlm and ISV server from one of your ISVs and use it with the older ISV server from your other ISV(s). However, if you use the command-line RLM utilities (instead of the preferred web interface), we only guarantee that the version of the RLM utilities corresponding to the oldest ISV server will work.
Could you also explain how compatibility of RLM utilities is handled in RLM such as rlmanon.exe and rlmutil.exe? For example does an older rlmutil.exe work with a newer rlm (even with an older ISV server)?
Yes. The client-server compatibility will be a function of the client version and the server version. For any operation that retrieves data from the ISV server, then it will be the ISV server version that is important. The rlm version should always
be >= the ISV server version in any event.
So to answer your specific question, an older rlmutil works with newer rlm and ISV servers. If the ISV server is older than rlmutil, then it won’t necessarily work.