Blender 2.5 includes a first version of Color Management. Currently this is limited to ensuring Linear Workflow during the render pipeline - gamma corrected inputs are linearized before rendering, the renderer and compositor work in linear RGB color space, and is gamma corrected back to sRGB color space for display in the image editor.
Future work may include support for display profiles, LUTs, and finer grained control over input/output conversions.
A problem currently being tackled in the field of CG rendering and compositing is 'Linear Workflow'. The issue is that the due to the way monitors, and human perception work, the pixels that you normally see on screen need to be adjusted with a gamma curve (such as in the sRGB color space) to make it look correct to a viewer. However rendering/compositing calculations can not be performed correctly under such an environment.
Quote Naty Hoffman:
The sRGB color space has the further advantage of being (approximately) perceptually uniform. This means that constant increments in this space correspond to constant increases in perceived brightness. This maximally utilizes the available bit-depth of textures and frame buffers. However, sRGB is not physically uniform; constant increments do not correspond to constant increases in physical intensity. This means that computing lighting and shading in this space is incorrect. Such computations should be performed in the physically uniform linear color space. Computing shading in sRGB space is like doing math in a world where 1+1=3.
In a nutshell, users work in a gamma corrected colour space as seen on their monitors (sRGB or similar), but correct rendering/compositing calculations need to be done in a linear colour space.
The solution to this is to:
In Blender 2.5, linear workflow is accounted for automatically. Any gamma corrected inputs to the render pipeline are automatically linearized before rendering and compositing, with a gamma correction back to a display color space such as sRGB at the end of the pipeline. Only colour outputs of textures are linearized, not textures used for scalar values like bump, specular, etc.

The new convention in Blender is to store colors internally in a linear color space, similar to other applications like Nuke that support linear workflow internally. The exact values that you see in this case are the linear numbers, however the colour swatches, color ramps, color pickers are corrected for display gamma to allow you to see the corrected end result.
Some exceptions are made for colors that are always intended to be used in a non-linear, gamma corrected color space, such as brush colors in painting tools. These are stored in display gamma space, and can be distinguished by the tool tips. While this may sound complicated, these situations are the exception, rather than the rule, and you can be confident that the color shown in the swatch is a good representation of the final result.
