Typo prevented luminance with derivs from finding the right function
M_2PI, M_4PI
generic noise("name",coords,...) and pnoise("name",coords,periods,...)
Workaround strict-aliasing rules by using char* instead of void*
Fixing a few missing pieces needed for cellnoise to work with derivatives and when cellnoise is called directly from shaders.
Update to LLVM 3.0 final in SPI builds
Fix mod vs fmod discrepancy -- now fmod matches C, mod always returns positive like RSL.
Simplify and make foolproof the CMake LLVM-finding logic with llvm-config.
CMake compiler detection and suppress unhelpful warnings in clang.
We don't coerce closures, and it leads to an assertion to do some of the things later in this function if you don't take the early out.
Bug fix -- was declaring the codegen_method too late for the case of structure initializers
Extend Imath with a Matrix22 class template and some other minor additions.
Additions to Dual support: dual += and -=, dual versions of vec*float, add mixed Vec & Dual2<Vec> versions of dot product; Vec2 versions of dot product; and some general cleanup and enhancements.
Gabor noise.
Rebuild PDF docs
Overhaul the LLVM JIT optimization strategy in the wake of adding LLVM
3.0 support.  Remove lots of dead code and comments.

New attribute "llvm_optimize" controls the optimization passes.  The
default, 0, means to use the same optimization passes we always did.
When compiling against LLVM 3.0, values 1-3 correspond to using
approximately the set of optimizations that clang would use for -O1,
-O2, -O3.  Possibly values >3 will someday mean other pass sets or
strategies.  At this point, it's all experimental, and I don't
particularly recommend anything other than 0 (old pass strategy), but
I'm doing benchmarks to find out if anything else is significantly
better.
Fix broken build from missing public headers
Improve error message for ConnectShaders to help with debugging
Early exit from wireframe call for diffuse rays since ray differentials are unlikely to provide a good result
Minor type checking bug could cause non-exactly-matching polymorphic functions to coerce return value even when that was not intended.