Synchronization upon JackClient when the process() method is called is now optional; example client's don't rely on this synchronization.
JackClient.internalClient is not synchronized, and internalClientByName thus doesn't acquire a lock on JackClient.
JackClient.portByName and JackClient.portById now don't return JackLocalPort instances for local ports (separate instances of JackPort are returned). These methods also don't impose synchronization on JackClient object anymore.
JackClient methods that work with local ports (addPort, removePort, localPort and localPortNames) are not synchronized (ConcurrentMap is used to store the local ports).
WavSampleConverter (from the "util" package) was renamed to IntSampleConverter and generalized a bit.