This VM should work with any 3.3 or earlier image.

The major changes since 3.1-pre2 are as follows:

- Lots of changes based on patches applied to the SF tree.
  (See the ChangeLog file in the source distribution for a
  comprehensive list of these changes and the authors of
  the SF patches, where relevant.)

- The VM version number (3.2-1) is now decoupled from the image
  version (3.3alpha-4857) used produced the generated files, as
  seems to be the case with Mac and Win32 VMs.  For bug reporting
  purposes, `squeak -version' reports both these version numbers.

- Build process completely rewritten to accommodate VMMaker.  (Lots
  of documentation in the source distrib under platforms/unix/doc.
  Plugin developers who want their code to run on Unix absolutely
  must read this stuff.)

- New option: `-plugins <path>' (env: SQUEAK_PLUGINS='<path>') appends
  <path> to the list of places the VM seaches for plugins.  Each
  occurrence of `%n' in <path> is replaced by the name of the plugin
  being loaded.

  To run a newly-compiled VM without first installing it, use:
	.../blddir/squeak -plugins .../blddir/%n/.libs

- Modifier keys are handled more intelligently.  The default is the
  "traditional" Unix behaviour: mod1 is mapped to Command, Ctrl+mod1
  is mapped to Option, and other modifiers are ignored.  (This is
  usually what GNU/Linux systems with PC hardware [mod1=Alt] want.)

- For the rest of us, two new options: `-cmdmod <n>' and `-optmod <n>'
  (env: SQUEAK_CMDMOD=n and SQUEAK_OPTMOD=n).  If one or both of these
  are set then the X11 modifier `mod<n>' is mapped to Squeak's Command
  and/or Option, respectively.

  For example, to map a Sun keyboard so that the physical locations of
  the modifier keys ("Alt" = mod1 and "<>" [meta] = mod4) correspond
  precisely to their homologues on an Apple keyboard ("Option" and
  "Command") use:

	-cmdmod 4 -optmod 1

  (or set `export SQUEAK_CMDMOD=4; export SQUEAK_OPTMOD=1' in your
  .profile to make the change permanent).  (Note that setting a modifier
  for just one of these keys will entirely disable the other.)

- New option: `-swapbtn' (env: SQUEAK_SWAPBTN=1) reverses the "yellow" and
  "blue" buttons which might be useful for people having two-button mice
  (or who have 3-button mice and no respect for historical precedents).

- Various manual page updates (mainly for new/missing options).

- New Netscape plugin code from Bert Freudenberg.  (Not tested because
  my Netscape's dynamic loading is broken.)

- OSS sound rewritten from scratch.  (Full-duplex is supported but the
  image contains bugs which might prevent it from ever being attempted.)

  Both input and output have been tested extensively on Linux 2.4.18 with
  ALSA 0.9rc1 drivers (www.alsa-project.org) and the the OSS compatibility
  modules (snd-pcm-oss/mixer) that come with them.  (This is the only
  [non-commercial] OSS implementation I've found that respects the
  published OSS API sufficiently to permit any kind of serious development
  work.)

  With the new implementation, playing and recording should only comsume
  a fraction of 1% of the CPU.  Your kilometrage may vary depending on
  the (quite possibly lamentable) state of your OSS drivers.

- New option: `-nomixer' (env: SQUEAK_NOMIXER=1).  For people who prefer
  that Squeak not arbitrarily set the input gain to 50% every time
  recording is started, this turns off the mixer primitives.  With this
  option your external mixer program retains control of the settings
  (as it should).

- Changes to gnuification should make this thing 5-10% faster on Intel.

- Major overhaul of socket code should prevent lockups.  (There are
  still outstanding issues but they concern very obscure situations.)

- Lots and lots of smallish changes to the X11 code.  Plus some biggish
  ones: responsiveness should be better and occasional crashes (or
  freezes) observed when resizing the window should no longer occur.
  (`-xshm -xasync' not yet extensively tested with the new code.)

- Copy/Paste problems encountered between Squeak and some applications
  (probably mainly KDE and anything that uses Qt or gtk) are fixed.

- The default image name is now `squeak.image' (for compatibility with
  other platforms).

- Default heap size increased to 48MB to cope with recent images.

Still to do:

- mmap()-based memory allocator (when I have time to think about
  portability).

- Revisit the socket code to make a few minor tweaks for the obscure
  cases and to pull connection reset detection forward into the
  getSockState primitive (cf the Mac implementation).

- Add sources and support for building the VM as a Netscape plugin.

- Arrange for -USE_MMX in MpegPlugin on 386.

Don't Panic!

- Just send me mail if something is broken: ian.piumarta@inria.fr
