JBossVersionCompatibilityMatrix

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: