From BlenderWiki

Jump to: navigation, search

2.40 Pre-Release

Wrapping up 2.40

Development Digest, October-November 2005.

The targets for the upcoming 2.40 release are frozen now, and is in testing for the final release. This page will provide the status of the current state of development.

Right now we are at second alpha release, with the new Booleans and the game engine included - also the last juicy bits of the new character animation features, such as targetless-IK and ghosts.

The final release is in this month, November 2005.

Overview and release plan

So much has happened since the previous release that it is difficult to know where to begin. In the internals, as Ton already reported in July, the animation system rewrite started with putting a new dependency system in use, and the armature/pose system was rebuilt. Later this has allowed the introduction of new features, such as new armature draw types, bendy bones and envelopes, which have already been used extensively by the guys in project Orange and others. Also the Modifier stack by Daniel Dunbar is a substantial new core system, allowing layered transformations like subdividing and mirroring.

Another major flow of development came from the Google Summer of Code projects, which added new areas to Blender like fluid dynamics, Verse integration and Python textures. Integration of some of these projects is still to be done.

The amount of internal changes and new features is so large that we decided to make pre-releases. There are several reasons for it:

  1. the official test build can serve as a reference for filing bug reports
  2. there are so many new exiting features that we want to have them more accessible for anyone soon
  3. the new tools affect modelling and animation workflows, hopefully making blending more fluent, but surely there's also space for feedback and ideas for finalizing the new tools, before the final 2.40 release

Pre-release Log

October 12th 2005: The (first) pre-release is 2.40alpha1 (the version number being 2.39 for technical reasons).

November 2nd 2005: The second pre-release, 2.40alpha2. Has new booleans, new physics engine, loadsof new features (sorry no complete log yet...) and bugfixes.

Still scheduled for next testing builds (2.40 release targets)

  • The user interface changes, which Matt Ebb is transferring over from Tuhopuu where they have been experimented with.
  • ffmpg support in Blender (now in Linux only to avoid conflicts with Quicktime)
  • Particle improvements, particle guides

Postponed for after 2.40, to 2.41 etc.

  • Python Texture rendering

Major revisions, like a new event system etc., is expected later for 2.5 which will be another effort some time next spring or so.

Known issues

  • game engine now back in!

The original engine coder - Erwin Coumans - has been working on improved physics. This was not completed and hence and disabled in the first test build (alpha1), but now we are building with the game engine again. Do note that support for armatures in the engine has to be added still.

  • python armature API

With all changes in the animation system, access to Bones and Poses has been written from scratch. The old API won't work properly and has been removed, and the new one is still not all complete: getters are in CVS, setters need more work still (they may be even postponed to 2.41)

List of changes

Animation system

Ton Roosendal dived into and plowed his way through much of the animation code, starting from the internal dependency graph and armature core code, ending up all the way up to the action and NLA editors, remaking the old RVK system as a new thing called Shapes and doing other improvements on the way.


  • Modifier Stacks - Development and Documentation, Daniel Dunbar has added a Modier Stack in Blender, for layering (Mesh) transformations like Subdivision Surface, Wave Effect, Mirror, Mesh Reduction, and so on.
  • Mesh Subdivide Tools, Johnny Matthews has rebuilt the Mesh Subdivide tool from scratch, allowing much better control over subdividing. New tools like "edge slide" now are added too.
  • New text objects by Alexander Ewering, featuring Plain/Bold/Italic/Bold-Italic typefaces, Adjustable word spacing, Automatic wordwrap and many other things.
  • Unicode support for text objects by Mika Saari
  • New booleans - by Marc Freixas, developement notes
  • small change in curve extrusion (also affects subdividing) by Toni Alatalo and Matt Ebb: the handle type for new points is not (almost) always 'auto' as before, but the mode of the previous handle is used. so if you want to draw auto smooth curves as before, you must first change the initial handle to auto mode. This was done to enable fast editing of curves in cases where you need to rotate handles after adding.


  • (from static (animated) particles are rendered as a series of extruded faces which are parallel to the camera view, and blender makes sure that they’re rendered at the right size to produce no (or only minor) AA issues.


User interface

(Matt will fill this in)

  • Added icons in ok/confirmation popups, for nice quick visual recognition
  • ⇧ ShiftSpace is now an alternate convenient hotkey for maximising and tiling window spaces. Now you don't have to take your right hand off the mouse.
  • Added Right Mouse Button click to cancel a sequence strip transform, like other areas in Blender.
  • Added Set Smooth and Set Solid commands to the mesh edit mode specials menu/toolbox/3D View menu so you don't always have to keep switching back to edit buttons.
  • Added hotkeys for rendering animation (CtrlF12) and playing back animation (CtrlF11), similar to rendering a still with F12 and showing it in the buffer with F11.


  • Cutting in the Sequence Editor: pressing K will cut the selected sequence strips at the current frame.
  • Reversing frames in the sequencer. Added reverse frames button to NKEY of scene, images and video strips.
  • Added Select->Inverse for object mode, to deselect the current selected objects adn select everything else, available in the 3D View header menu and toolbox
  • Added copying curve resolution settings to the Copy Attributes (CtrlC) menu
  • Blender file compression, Shaul Kedem restored the option to compress files, giving 50-70% smaller .blend files.
  • Verse Integration, Verse is a 3d network protocol allowing any graphics application to work together, as if it's a single program. Jiri Hnidek has integrated it in Blender, and demonstrated a Blender connected to Maya, exchanging data! Currently the Verse Blender is available as a separate test build.

Python API

Ken Hughes added getset tables throughout the API. Yay! Replaces search thru list of attribute names by a table lookup. Provides consistent access to members, speeds up method calls, attrs show up automagically with dir(). Mathutils rewrite and new Armature / Bone code by Joseph Gilbert.

Also from the initiative of J-M. Soler, there is now access to the Particle system from Python - Ken Hughes adopted that new API code by doing some reorganization of the Effect operations too.

New modules:

  • Key
  • (BezTriple)
  • Timeline access via Scene. e.g. for using timeline markers to control a Camera changing script (as done by Basse at studio Orange)
  • Mesh, a.k.a. thinmesh, by Ken Hughes provides direct access to Mesh objects (unlike the pre-existing NMesh module which wraps mesh data by copying?)
  • Particle
  • ...more?


LetterRip is collecting via

need to be reviewed and tested!