These lists give a high-level overview over the changes made between two releases. A detailed history for a version can be found in the file docs/history.txt in the source distribution. Also, the user manual shipped with each version contains a section “API modifications” listing changes that may necessitate changes to your source code when updating from an older version.
Changes between 1.2rc2 and 1.2
- A few memory leaks fixed in the engine.
- Fixes in lighter2 (different texture names for different levels, infinite recursion with some portal setups, ...)
- Fixes in parsing of the GL driver database.
- A few OpenGL tweaks to make Crystal Space work better with old ATI drivers.
- Fix on finding the correct version of lib3ds.
- Java is now correctly detected by configure. Also when using MinGW/MSYS.
- Python plugin now compiles correctly with Python 2.4 and 2.5.
- No changes.
Changes between 1.2rc1 and 1.2rc2
- Wxgl compilation problem is fixed now.
- Crash in null3d fixed when null2d was missing.
- Fixed windows joystick driver so that it works fine if there is no window.
- Decals now work fine on 64-bit processors.
- Decals now work fine on genmeshes that use multiple materials.
- Bug fix in the output console.
- Initialization bug fixed in genmesh anim.
- Celtest crashed due to wrong usage of camera.
- Mesh invisibility was not always correctly restored when switching from first to third person.
- Better error reporting in the zone manager and also a bug fix there.
- Bugfix in pctools.properties. The api to fetch properties by ID didn't work.
- Check for collision detection system in zone manager is now improved.
Changes between 1.0.1 and 1.2rc1
- The new 'lighter2' tool (for lightmapping) is now working properly and can be used for real levels.
- New decal manager. This can be used for dynamic shadows, footsteps, bullet holes, ...
- New improved terrain plugin. The old one is still present for now.
- New tool to generate terrain basemaps.
- New and improved threading API.
- It is now possible to specify named shader expressions and use them later in shaders for special effects.
- New language translator plugin that allows for internationalization.
- Lots of improvements on the python bindings. Including more python language natural bindings.
- The Perl scripting plugin has also been improved.
- Lots of internal changes which are not immediately visible for the user but which will benefit future versions of Crystal Space.
- Important fix in the ODE dynamics plugin. This is a potential compatibility breaker so to enable the old (broken) behaviour back you have to do iODEDynamicsState::EnableOldInertia().
- Warning, AWS and AWS2 have been removed from CS (they are now kept in the CSExtra repository). It is recommended to use CEGUI now.
- Various documentation updates, bug fixes and optimizations. Too much to tell.
- Big refactor in the names of property class. Names are now much more logical. The old names are still supported but will be removed in 1.4.
- Property class factories are now automatically loaded when a property class is needed. No more need to do RegisterPropertyClassFactory().
- Lots of changed to pchover and pcwheeled.
- Several improvements to the XML behaviour layer.
- Improvements to the python scripting layer (similar to what happened in Crystal Space).
- New pcneuralnet property class.
- New pcmeshdeform property class.
- Mouse move improvements in pcmove.actor.standard (old pcactormove).
- Many improvements and additions to the manual.
Changes between 1.0.1 and 1.0.2
- Allow installation next to 1.2 release.
- Bugfix in xmlshader and also bugfixes in the reflect and reflectsphere shaders.
- Some smaller bugfixes (manualcolors flag in genmesh, csStringBase::Upcase()/Downcase(), ...)
- Allow installation next to 1.2 release.
Changes between 1.0 and 1.0.1
- Fixes to allow Crystal Space to be build on Solaris and IRIX.
- A few fixes in genmesh.
- 3DS genmesh loader now works again.
- Compile error fixed for gcc 3.2
- Fix in the ELF reader.
- Configure and build fixes.
- Particle system fixes: initial angular velocity exposed to XML and made sure the rotation mode resets the texcoord vectors.
- Compatibility fixes with Windows SDK 6.0.
- Bullet plugin compiles now.
- A few documentation fixes.
- Dynamic system is now created when not found.
- Lots of compile warnings silenced.
- Fix in celInitializer so that it also looks for vfs.cfg in application dir.
- Fix in actormove related to animation and jumping.
Changes between 1.0rc2 and 1.0
- Build fixes for Solaris and IRIX.
- 'cubemap' command in walktest has been fixed.
Changes between 1.0rc1 and 1.0rc2
- Engine crashes related to portals are fixed.
- Fixes in genmeshify to handle libraries better.
- Fixed an issue in OpenGL render to texture.
- Software animation skinning for gmeshanim now works better.
- New documentation on event system.
- A few smaller bugfixes.
- Packaging fixes for celstart.
Changes between 1.0pre2 and 1.0rc1
- Bugfix in ODE which crashed if there was no collision polygon mesh on the object.
- Fix in 3D sound.
- Bugfix in LoadMountsFromFile().
- Memory corruption fixed in xmlshader.
- Mouse cursor change for win32.
- Shader variables will now correctly find textures based on region settings.
- Terrain collision bug fixed (CD didn't work for terrain that was moved away from 0,0,0).
- Terrain levels using alpha maps (like terraina) didn't work anymore.
- ICE Look and feel for CEGUI 0.5 fixed.
- Texture compression and AFP are now disabled for Intel DRI driver since this caused problems.
- RECT textures are disabled for nVidia cards since they also caused problems.
- Destroying CS environment on linux could cause the environment to become corrupted.
- Collision detection improvements (impossible to get stuck and impossible to go through walls).
- Castle level license from by-nc to by-nc-sa.
- Bugfix in celstart with mangling of directories for PYTHONPATH.
- Installing CEL should now work better because the CEL version of vfs.cfg can be found.
- Other installation fixes (data/library is now installed for example).
Changes between 1.0pre1 and 1.0pre2
- Several build system changes and fixes (like for Xorg).
- Several python related fixes.
- Perl bindings compile again.
- Bullet plugin fixes (compiles better with more recent versions of Bullet).
- Several fixes to the software renderer so that it now displays the castle level right.
- Fixed a bug with frustvis and dynavis which could cause assertion errors in case of objects with empty bounding boxes.
- Worked around a VC7 compiler bug which could cause serious crashes in shader handling.
- Some changes in gmeshanim to help speed it up.
- New preadvance option in particle system so that you can prefill the particle system with a given number of particles when it first starts.
- Significant change in the sound manager. The sound wrapper class no longer holds streams but instead only the sound data. For backwards compatibility it will still hold streams in case you use the old syntax of specifying a 3D mode together with the sound. However, this will result in deprecation warnings.
- Some other smaller fixes and changes.
- Better error checking and reporting in the XML scripting layer.
- A big memory leak in the XML scripting layer was fixed.
- Change in the zone manager so that CS regions now get a unique name. This may break programs that depend on the old behaviour that a CS region is always called the same as the region from the zone manager. Now the name will be <entityname>_<region>.
- Fix in pcsolid so that removing that property class will also remove the collider.
- Quests in the library are now correctly defined.
- Bug fix in pcproperties in relation to listing the properties it supports.
- Bugfix in iPcQuest->NewQuest(). It would modify the read only hashmap that it got as a parameter.
- Every time an entity is removed with iCelPlLayer->RemoveEntity() the behaviour will be called with the 'destruct' message.
- Fixed pcsoundsource so that it correctly handles 2D versus 3D sounds.
- Fixed a few memory leaks in the quest manager.
- Fixed iCelPlLayer->GetHitEntity() so it no longer has an arbitrary limit of 60 units and it now also supports portals.
- Several other smaller fixes and changes.