Beta to 1.0.0

As can be expected with any software package, it is sometimes unavoidable that changes in the functionality of the package will cause incompatibilities with earlier versions. This is especially true when a package is a "proof-of-principle" package like Swarm.

We've made an attempt to compile all the problems a user might have moving to the new release and put them here. Please read this thoroughly to decide what you might need to do to your app to get it to work with the new release.

  1. The biggest and most pervasive problems will be due to the new random library. Notes on how to deal with this problem are provided in the documentation for the random library.

  2. A rather benign problem results from the repackaging of the swarmobject library. The interface to this library was brought into sync with the defobjand collections libraries. (The rest of the errant libraries will follow in a later release.) The solutions to the problems associated with this interface change are detailed in the documentation for the objectbase library.

  3. There are a couple rather benign incompatibility introduced with 1.0 in the new activity library. Many parts of activity have changed. But, for the most part, everything works exactly the same. For details on the incompatibilities please see the documentation for the activity library. Briefly, the incompatibilities are:

    • The high-level structural changes in the activity library has led to the renaming of the variable


      . It is recommended that

      [self getActivity]

      be used in its place (if your app even used this variable, it was probably in the BatchSwarm). This is a new message and it takes the place of the


      message. But, the obsolete message has been left in place for backwards compatibility.

    • The


      macro is gone. If you used the old getCurrentActivity() in your code, it won't work now. Use of this macro was not very widespread, since its main use is to access activity library internals. One of the other macros should be sufficient for any application.

  4. The functionality of Zones has been greatly improved and expanded upon. Most of the aspects of the idea behind Zones are now in place. However, there is one incompatibility that must be noted in case your code is fairly old. The dropFrom: message has been removed. Even though it was still present in recent releases, its behavior was identical to drop. Any existing usage should be replaced by a simple drop message without any zone argument. SwarmObject subclasses are now restricted from accessing the zone that was once contained in an instance variable; the message getZone must be used instead.