Information for developers

  • Get Involved
    How to join in Blender development and maintenance
  • Developer IRC: meet with coders and users at IRC chat, irc.freenode.net #blendercoders
  • Weekly developer meeting in #blendercoders, sunday 16h Amsterdam time.
  • Developer blog
    Open blog for developers to write about code, design, plans and features.
  • Report a Bug
    Help us by reporting any bugs you find and following these guidelines
  • Submit a Patch
    How to efficiently contribute code to Blender and get it reviewed
  • Release Logs
    All release documentation since Blender 2.30
  • Architecture
    Overall description of Blender's internal structure

Supported Platforms

Blender is avaliable cross platform, but utilizes OpenGL for drawing the entire interface. That means you best use a graphics card and drivers that conform to the OpenGL specifications.
Unfortunately there are a lot of cheap graphics cards on the market that only support a basic sub-set of the OpenGL specs. VIA and Intel cards are infamous for this.

The Blender developer team welcomes all efforts to bypass issues with specific configurations, but we can only support the platforms well that are in use by active coders... check this list in wiki for which platforms are in active development.

Blender 2.6x series

Since May 2011 we're reviewing with all branch/patch developers the status of their work, and make a migration schedule for all new features. This could include projects like new Mesh editing (BMesh), paint/sculpt improvements, Rigid Body Physics, new Curve/Nurbs system (Nurbana), Ocean Sim render, Particle Nodes, and so on.

Combining these upgrades with a redesign of shader/light system ("Cycles"), Open CL compositing, motion/camera tracking, and all the new Google Summer code projects... it'll become a massive amount of upgrades again.

Proposal is to do this in a series of small steps; with stablest branches first. We can call it the "2.6x series" resulting in a number of releases named 2.60, 2.61, 2.62 and so on. Each release is supposed to be stable, only finished branches will be added. Plan is to make a very tight schedule for this, with a bi-monthly release.

More detailed planning you can find on the "Current Projects" page:
wiki.blender.org/index.php/Dev:Doc/Projects

Branches ready for inclusion will be posted here:
http://wiki.blender.org/index.php/Dev:Ref/MergeAndIntegrationPlan

The release logs of past releases are here:
www.blender.org/development/release-logs/

Get the latest builds from Blender svn here:
builder.blender.org/download/

For Blender 2.6x the UI and general design specifications will remain on 2.5 compatible level, although there are several 2.5 leftover projects to complete still.

A related target or Blender remains to keep improving apis or modules, to enable larger groups of developers to work in parallel on projects.

Python Scripting

Blender uses the Python programming language for its internal scripting API.

Blender 2.5x

The Blender 2.5x versions feature a completely new Python API based on Python version 3.2, and is integrated deeply, used for generating Blender's GUI layouts, for import and export of external formats, and with access to all user-accessible data and functionality. 

Some scripting functionality from 2.49 (pyNodes, pyConstraints, etc) is still missing however, and is pending re-design/implementation.

Blender 2.49

The Blender 2.49 Python API is now deprecated in favour of a more complete and powerful API in Blender 2.5.

Google Summer of code

Blender regularly participates in Google's Summer of Code grants program. If you'd like to get involved, check Google's site for schedules and details, or check on the results of previous Summer of Code projects: 2011 / 2010 / 2009 / 2008 / 2007 / 2006 / 2005

Current 2012 Google of Summer projects.