JBoss Version Compatibility Matrix
Binary compatibility between jboss versions (i.e. a client of version X accessing
a server of version Y) is something that we starting dealing with after
jboss versions v3.2.8 and v4.0.2 respectively.
That was done by introducing stable serialVersionUIDs to improve forward
compatibility with future versions, plus providing some fall-back mechanism
to support some interoperability mostly between the latest 3.2.x & 4.0.x versions.
There are dedicated testsuites checking integration scenarios among different
jboss versions:
v3.2.6+ & v4.0.2+ clients against the latest server in Branch_3_2
(results).
v3.2.8.SP1+ & 4.0.1.SP1+ clients against the latest server in Branch_4_0
(results).
v3.2.8.SP1+ & 4.0.1.SP1+ clients against the latest server in Branch_4_2
(results).
The tested combinations have a greater chance to interoperate, still this
is not a 100% guarantee because there can be use-cases that we are missing
(if you find one, please submit a bug report with a testcase preferably).
For some combinations that use different serialVersionUIDs and would be
otherwise incompatible we have introduced a special property that will need
to be set either on the client or the server side.
For example, making a 3.2.x client communicate with a 4.x server, and vice versa,
will require the setting of a property on the 3.2.x side (to use 4.x serialVersionUIDs).
Other combinations will most problably fail to interoperate and there is no
intention or resources to try fix them.
3.2.x client against 3.2.x server
Client\Server | 3.2.8 | 3.2.8.SP1 |
---|---|---|
3.2.6 | Ok | Ok |
3.2.7 | Ok | Ok |
3.2.8 | Ok | Ok |
3.2.8.SP1 | Ok | Ok |
4.0.x client against 3.2.x server
Client\Server | 3.2.8 | 3.2.8.SP1 |
---|---|---|
4.0.2 | Ok | Ok |
4.0.3 | Ok | Ok |
4.0.3SP1 | Ok | Ok |
4.0.4.GA | Ok | Ok |
4.0.5.GA | Ok | Ok |
Note: you need to run the 3.2.8+ server with -Dorg.jboss.j2ee.Serialization
3.2.x client against 4.0.x server
Client\Server | 4.0.2 | 4.0.3 | 4.0.3SP1 | 4.0.4.GA | 4.0.5.GA |
---|---|---|---|---|---|
3.2.8 | Ok | Ok | Ok | Ok | Ok |
3.2.8.SP1 | Ok | Ok | Ok | Ok | Ok |
Note: you need to run the 3.2.8+ client with -Dorg.jboss.j2ee.Serialization
4.0.x client against 4.0.x server
Client\Server | 4.0.2 | 4.0.3 | 4.0.3SP1 | 4.0.4.GA | 4.0.5.GA |
---|---|---|---|---|---|
4.0.1SP1 | Ok(1) | Ok(1) | Ok(1) | Ok(1) | Ok(1) |
4.0.2 | Ok | Ok | Ok | Ok | Ok |
4.0.3 | Ok | Ok | Ok | Ok | Ok |
4.0.3SP1 | Ok | Ok | Ok | Ok | Ok |
4.0.4.GA | Ok | Ok | Ok | Ok | Ok |
4.0.5.GA | Ok | Ok | Ok | Ok | Ok |
Note(1): you need to run the 4.0.2+ server with -Dorg.jboss.j2ee.LegacySerialization
3.2.x client against 4.2.x server
Client\Server | 4.2.0 | 4.2.1 |
---|---|---|
3.2.8 | Ok | Ok |
3.2.8.SP1 | Ok | Ok |
Note:
you need to run the 3.2.8+ client with -Dorg.jboss.j2ee.Serialization
you must use the legacy rmi invokers
4.0.x client against 4.2.x server
Client\Server | 4.2.0 | 4.2.1 |
---|---|---|
4.0.1SP1 | Ok(1,2) | Ok(1,2) |
4.0.2 | Ok(2) | Ok(2) |
4.0.3 | Ok(2) | Ok(2) |
4.0.3SP1 | Ok(2) | Ok(2) |
4.0.4.GA | Ok(3) | Ok(3) |
4.0.5.GA | Ok(3) | Ok(3) |
Note(1): you need to run the 4.2.x server with -Dorg.jboss.j2ee.LegacySerialization
Note(2): you must use the legacy rmi invokers
Note(3): you need to run the 4.2.x server with -Djboss.remoting.pre_2_0_compatible=true
4.2.x client against 4.2.x server
Client\Server | 4.2.0 | 4.2.1 |
---|---|---|
4.2.0 | Ok | Ok |
4.2.1 | Ok | Ok |
Referenced by:
Comments