Considerable work has been done for this release:
New or rewritten modules:
Additions to existing modules:
Main interface:
Let Python initialize the site path (Ken Hughes).
- Object:
Support for deform and vertex parenting, by Martin Poirier
.getParentSubName, by lordbosh
.effects (read-only), by Jean-Michel Soler
.protectFlags: support for transform lock, by Ken Hughes
- Material:
access to shader data, by Campbell Barton
support for new modes, by Ken Hughes
- Lamp:
areaSizeX/Y, raySamplesX/Y, rayShadow, by Campbell Barton
- Scene:
support for TimeLine, by Joilnen Leite
- Ipo:
let user access ipo by address code in addittion to name (Johnny Matthews)
- Image:
.getPixelI, .setPixel[IF], .getMinXY, .save, by Austin Benesh
New(), GetCurrent(), image.start/end/speed/packed, by Campbell Barton
- Curve:
support for Taper objects (Toni Alatalo).
- Mathutils:
line intersection, triangle area, tracking quats from vectors, some normal calculators, by Martin Poirier
- Key:
get names of shapes, keyblocks, by Toni Alatalo
key.ipo, by Johnny Matthews
- Particle:
getParticlesLoc and New (to link effect to a mesh), patch from Jean-Michel Soler
- Render:
.saveRenderedImage() by Joseph Gilbert.
- Texture:
MTex additions by Yehoshua Sapir
Besides that, many bugs were fixed and the documentation has been updated.
Ken Hughes (code and many bug fixes) and Joseph Gilbert, in particular, have made many contributions for this release. Daniel Dunbar made many updates while working on improving Blender internally for modifiers, etc. Stephen Swaney applied many patches and fixed bugs.
Contributors:
Stephen Swaney, Campbell Barton, Daniel Dunbar, Joseph Gilbert, Joilnen B. Leite, Stephane Soppera, Kent Mein, Johnny Matthews, Simon Clitherow, Mika Saari, Willian P. Germano, Martin Poirier, Ton Roosendaal, Ken Hughes, Austin Benesh, Tom Musgrove, Yehoshua Sapir, Chris Burt, Pontus Lidman, Chris Want, Toni Alatalo, Alexander Ewering, Jens Ole Wund, Nathan Letwory.
Scripts:
New:
Updates:
Note about the future:
The BPython API team is planning an overhaul right after 2.40's release. The current API is a mix of old and new modules written by different programmers. With Blender and Python (and our knowledge of both) evolving, many of us feel that BPython needs to be reworked.
We want to clean it up: remove inconsistencies and nuissances as much as
possible, favoring a more "pythonic" approach, but remaining simple and close to Blender's code, with a simple and well structured API in C. On top of that we can have more powerful and fancy interfaces written in Python, of course.
The overhaul will most probably break some already written scripts. This is bad, but it's also a chance to start collecting the updated and new scripts, making sure they are well documented and polished (well tested, no foolish errors, good interfaces).
Coders should not worry, though. We don't plan to change that much, the API will basically be cleaned and made nicer, that's all - no big changes planned. Updating scripts, if needed, will be trivial.
Those interested are invited to share opinions at the elYsiun and blender.org Python forums and the bf-python mailing list, we want to discuss the improved API before coding the changes.