The last few releases contained mostly stability fixes, as well as improved WGL and GLU bindings. This one is a bit stronger on features:
* Mouse input support for GameWindow. Not perfect, but it works!
* Optimized extension loading.
* The frequency of UpdateFrame and RenderFrame calls can be set through: GameWindow.Run(double updateFrequenct, double renderFrequency)
* GameWindow.Title property can get or set the title of the window.
* GameWindow.Unload event is raised during application shutdown, but before OpenGL context deletion. Use to unload resources.
* Two new tutorials (T02: Vertex Arrays) and (T04: Vertex Lighting) showcase the relevant OpenGL features.
* A new Test (S03: Extensions) uses reflection to obtain a list of extensions supported by your hardware.
* Documentation and interface improvements.
* Binary release for the first time!
There are three files in this release: opentk-0.3.12.zip, opentk-0.3.12-mono.zip and opentk-0.3.12-net.zip. The first contains the source code only, which you'll have to build by hand (see the Build directory for instructions). The second two contain unsigned, optimized binaries, compiled through the Mono 1.2.5 (gmcs) and .Net 2.0 (csc) compilers, respectively.
Why release binaries? Because they are convenient, and you won't have to wait for the compiler to run though the 9.25MB worth of source files. Just add a reference, and you are ready to go.
Both binaries will run on all supported platforms, however you will get better crash reports if you use the Mono dll on Linux and the .Net dll on Windows. Apart from that, they are equivalent, bug for bug.
As always, take a look at Documentation/Release.txt for specific bug fixes and known issues. Some changes are breaking, specifically:
* GameWindow.Keyboard exposes only one Keyboard now (it used to be an IList<>). Multiple keyboard support will use a different interface.
* GameWindow.Create event is no longer fired. Applications depending on it should use the GameWindow.Load event instead.
* A few OpenGL functions had incorrectly trimmed endings (mostly 's' endings were eaten, as per GL.DrawArray vs GL.DrawArrays). Corrected now.