General migration
All uses of the old API for ByteArray are now obsolete. They can and should be mapped on top of the adequate stream (memory stream, network stream, and so on). This should also improve performance, because the computation of the size of the ByteArray is not necessary. Streams grow as needed.
Unlinking and relinking have been replaced by a more powerful mechanism, replacements. Any object can specify a dumping replacement; another object that will replace it when it is dumped. In turn, any object can also specify a loading replacement; another object that will replace it when it is loaded. This provides two-phase replacement. For instance, an object A that represents a file can be dumped as an intermediate representation B (a dumping replacement for A) which carries the path of the file. Upon load, B specifies a loading replacement C, which is a valid file again, based on the path defined by B.
For backwards compatibility, class names such as ObjectSwapper, ObjectLoader, ObjectDumper have been maintained. The ObjectSwapper API in IBM Smalltalk V3.0, although obsolete for most of the calls, has been implemented to facilitate migration of existing code. Class prefixes have been added for new classes, to minimize the name collision problem. Public classes from previous releases, like ObjectSwapper, ObjectLoader and ObjectDumper do not have prefixes added for compatibility reasons.
 
Last modified date: 07/02/2019