
* Jul 2002 : Soya3D 0.1
  * First release

* Dec 2002 : Soya3D 0.2
  * Second release
  * Landscape / heightmap
  * More tutorial lessons
  * Lots of bugfixes

* Jan 2003 : Soya3D 0.2.1
  * land: bugfix, faster raypicking, new function get_true_height
  * fixed bugs with camera as widget
  * raypicking on morph
  * material sorting to speed up rendering process
  * portal reviewed

* Fev 2003 : Soya3D 0.3
  * INCOMPATIBLE CHANGES !!! ALL SDL* and SDL_* constant have been
    renamed without the SDL prefix
  * INCOMPATIBLE CHANGES !!! All soya saved file MUST have a ".data"
    extension (because of CVS). Renaming your older file is OK: the
    file format itself have not changed, (except for materials, see
    below)
  * INCOMPATIBLE CHANGES !!! materials file-format have changed !
  * Can be used along with PyGame !!!!!!
  * Animations (see tutorial lesson 11)
  * Faccutter module, to improve your shape by adding more faces
    (see tutorial lesson 114 and 115)
  * A main loop with FPS regulation (see soya.idler, and tutorial
    lesson 013)
  * Widgets now have begin_round, advance_time and end_round methods

* March 2003 : Soya3D 0.3.1
  * Faster particle systems
  * Bugfixes:
    * Directional lights
    * Static lights
    * Lesson 104 was not updated after the new image object

* March 2003 : Soya3D 0.4
  * Cal3D integration! Cal3D is a blasting 3D animation library.
    See tutorial lesson 014, and http://cal3d.sourceforge.net
  * Better Blender exporter:
    * Easier to use
    * Import subsurf
    * Autocreate material if needed
  * Morph (see lesson 012 for a smiling Tux). Though as we have now
    integrated Cal3D, morph are quite deprecated... :-(
    Cal3D offers much more features.

* May 2003 : Soya3D 0.4.2
  * Added manpage for Soya editor
  * Bugfixes:
    * ./configure failed to find Cal3D

* May 2003 : Soya3D 0.4.3
  * Removed fucking configure -- configuration is now hardcoded
    in config.py ; edit this file if needed (normally it should
    be right).

* July 2003 : Soya3D 0.5
  * New C rendering engine (20-30% faster)

* July 2003 : Soya3D 0.5.1
  * Cal3D support was disabled in 0.5
  * Blender exporter upgraded for Blender 2.28

* December 2003 : Soya3D 0.6
  * Soya 0.6 file format is different from Soya 0.5 file format.
    See convert_to_new_format for converting your files.
  * Cell shading !!!
  * Shadows !!
  * Water cube !
  * It is now possible to attach a world to a Cal3D bone
    (see tutorial lesson 015)
  * Better Blender exporter, and Blender exporter for Cal3D available
    sperately (search about blender2cal3d.py)
  * Morphs have been removed (they were deprecated in favour to Cal3D
    support), and so there is no longer any tutorial lesson 012.
  * Bugfixes:
    * distance_to() was buggy with coordinate system conversion

* December 2003 : Soya3D 0.6.1
  * Bugfixes:
    * remove "import soya.game.level" in several lesson, which was
    totally useless and was causing a dependance on py2play.

* December 2003 : Soya3D 0.6.2
  * Bugfixes:
    * Remove "home_page" keyword in setup.py, which cause troubles
    with old python

* June 2004 : Soya3D 0.7
  * Full rewrite in Pyrex

* August 2004 : Soya3D 0.8
  * Cell-shading
  * Shadows
  * Bugfixes:
    * Memory corruption in chunk, thanks Zachary Hamm
    * Segfault in landscape
    * Face.is_coplanar() was actually 'is_non_coplanar' ; this may
      cause some buggy Blender exportation.
    * Cal3D model with multiple submeshes were buggy
    * Point.position was always returning None

* December 2004 : Soya3D 0.9
  * MacOSX support (thanks Toni Alatalo and zratchet)
  * Windows support (thanks Thomas Paviot)
  * Auto-exporter for Blender, OBJ/MTL (thanks David PHAM-VAN), .png
    and .jpeg images (see the blender-auto-exporter-1 tuto)
  * Now include blender2cal3d.py
  * Raypicking on animated (Cal3D) models
  * get_box, get_dimension and set_dimension are now implemented
    and have been moved in CoordSyst (they were in World previously)
  * new method widget_begin_round, widget_advance_time,
    widget_end_round for widgets
  * new soya.set_gamma function to control gamma correction
  * Added 3DS import script
  * new feature : environment mapping
  * Bugfixes:
    * Font.get_print_size() was buggy
    * Raypicking on scaled CoordSysts was buggy
    * scale_x, scale_y and scale_z were working only if the previous
      value was 1.0
    * particle system autoremoving was slighly ugly
    * soya.opengl.glDeleteList was buggy

* December 2004 : Soya3D 0.9.1
  * Bugfixes:
    * Remove useless file ode/c2py.c in setup.py

* January 2005 : Soya3D 0.9.2
  * Environment mapping now works for everything (not only SimpleShape)
  * New Cal3dVolume.animate_reset method
  * Faster and less scrambly TravelingCamera
  * New Camera.coord3d_to_2d method
  * Bugfixes:
    * Blender2Cal3D exporter now create directories if needed
    * You can now put soya in the same directory than soya apps
      (it was causing an "ImportError: No module named _soya")
    * Take scaling into account for particle systems (only scaling on X
      axis is used currently)
    * Disable fog for additive_blending material (because fog has
      already been applied before)
    * Cellshaded non-smoothlit faces were lit by backfacing lights

* July 2005 : Soya3D 0.10
  * Use Cal3D 0.10 (no longer compile with older version)
  * Use (and require) GLEW (thanks Dunk)
  * Pudding integrated (soya.pudding now, and see tutos pudding-*,
    big thanks Dunk !)
  * Tofu integration (see soya.tofu4soya, and tofudemo.py tuto).
  * 2 methods added: loaded() is called when an object is loaded from
    a file, and added_into() is called when a CoordSyst is added
    inside a World (or None if it is removed from its previous
    parent).
  * New tutorial multiple-camera-1.py
  * Bugfixes:
    * Cal3DVolume are now pickleable
    * Ortho Camera now works (object culling was buggy)
    * Camera.coord3d_to_2d and Camera.coord2d_to_3d now works with
      ortho Camera, and takes FOV into account for non-ortho Camera.
    * Bugfixes in OBJ/MTL importer (thanks Vito)

* August 2005 : Soya3D 0.10.1
  * Support for SDL_mixer (with PySDL_mixer)
  * If Blender exporter doesn't find PIL, it now tries system-wide Python
  * Bugfixes:
    * Bugfix in Face.get_box()
    * Land.solid was not working
    * Raypicking on Cal3DVolume.solid was buggy, in particular when
      the Cal3DVolume was hidden (visible == 0 or out of the screen)
    * raypick_b was not working on Land if using a vertical direction
    * Particle systems unpickling was buggy
    * Raypicking was not working if the root scene was not located
      in (0.0, 0.0, 0.0)
      
* February 2006 : Soya3D 0.10.2
  * Added interpolation support (see tuto state-1)
  * soya.tofu4soya now use interpolation for remotely controlled
    mobiles
  * Solid shapes (see tuto modeling-solid-shape-1)
  * Support for texture border (automaticaly detected and activated if the
    texture size is 2**x+2)
  * Added soya.label3d.Label3D, a 2D text label at a 3D position
  * Added a module with material classes with special effects on
    textures, like gliding texture (see soya.spc_material)
  * Update blender2cal3d.py for Blender 2.41
  * Bugfixes:
    * Newly created materials were activated by error
    * Cal3dVolume no longer crash if it has no shape
    * changing Material.clamp didn't re-init the texture, and thus was
      having no effect
    * Camera.coord2d_to_3d now works better with ortho cameras (still
      not perfect though)
    * Bugfix on object pickling (the bug was probably introduced by a
      recent version of python)

(no Soya3D 0.10.3, dead before its birth)

* April 2006 : Soya3D 0.10.4
  * Bugfix on ODE support: the .c files have been re-generated from
    the .pyx files

* May 2006 : Soya3D 0.10.5
  * Bugfix on Cal3D support: a bug in Pyrex 0.9.4.1 (not present in
    older version) was causing a segfault bug in
    Cal3DVolume.detach_from_bone()

* June 2006 : Soya3D 0.11
  * Full support for cerealizer (i.e. save(), load() and get() can use
    cerealizer, see set_file_format and basic-savingfile-* and
    basic-loadingfile-* tutorials)
  * Pudding listbox, by Reto Spoerri (thanks :-))
  * Idler.return_value is now readable (ease hacking the Idler :-)
  * rotate/turn_lateral/vertical/incline become rotate/turn_x/y/z
    (the old names are still their and I don't really consider them as
    "deprecated")
  * Sources now use tab instead of space for indenting
  * Bugfixes:
    * Several bugfixes on shadows, cellshading outlines on Cal3D model
      and raypicking on Cal3D model
    * tofudemo tutorial was broken. It now works, although the
      interpolation feature add some lag. Tofu and Tofu4Soya are still
      in an unstable stage and may change radically.

* July 2006 : Soya3D 0.12
  * Massive renaming (backward compatibility is maintained through aliases):
      Idler       -> MainLoop
      Shape       -> Model
      Cal3dShape  -> AnimatedModel
      Shapifier   -> ModelBuilder
      Volume      -> Body
      Cal3dVolume -> Body (merged with Volume)
      Land        -> Terrain
  * New sound API (see soya.Sound, soya.SoundPlayer and tuto sound-1.py)
  * Static and auto_static: all Soya objects (inheriting from
    CoordSyst) have now a "static" attribute that can be use to tag
    them as static for optimizing them, and an "auto_static" attribute
    (defaulting to true) that allows Soya to automatically determine
    wether they are static or not
  * Static shadows: static object's shadows are rendered faster
  * New method MainLoop.update, for embedding Soya inside Tk (or other
    GUI or mainloop) ; MainLoop.start has been removed since it has never
    been really working
  * Font now inherits from SavedInAPath (=> you can have a data/fonts/
    directory)
  * Dynamic model deforming (see tuto deform-1.py); this feature is
    still under work and the API may change in the next release.
  * Auto-exporters can now be disabled (soya.AUTO_EXPORTERS_ENABLED = 0)
  * Bugfix:
    * Bugfix in 3DSmax exporter on material (thanks Snaip)
    * The Blender => Soya auto-exporter no longer require that Blender
      can import Soya. This was causing some weird bugs with some
      Blender binaries.
    * Fix for 64 bits platforms.
    * Bugfix on mirroring (scaling with negative values)
    * Bugfix on shadows on AnimatedModel: soya was segfaulting if the
      model was culled on the first rendering

