Major changes from v0.2.1 to v0.2.2 dna: * Added native code for DNS class * Added native code for System.Threading.Interlocked class corlib: * Added all System.Threading.Interlocked methods that operate on Int32 values. Enumerators defined using yield return therefore now work - they need CompareExchange(). * Added delegates: Action[T], Predicate[T] * Added TimeSpan - complete except for Parse() and TryParse() * Added DateTime - DateTime.Now is not implemented, DateTime.UtcNow is. Add simple operations are implemented, but not more complex/obscure stuff, e.g. ToFileTime(). ToString() is only crudely implemented, not taking any notice of formatting specified, or culture. It is always shown in UK format (dd/mm/yyyy hh:mm:ss). System: * Added the beginnings of the Dns class. It is now possible to get the IPv4 address for a host-name. ------------------------------------------------------------------------------ Major changes from v0.2.0 to v0.2.1 dna: * Fixed bug in constrained virtual calls. * Fixed bug with how Single and Double types were handled. * Added array functionality for floating-point types. * Improved how internal calls are looked up. * Updated the VS2005 build config for release, to place the executable in the correct place. * Implemented Nullable types. * Implemented basic native socket functionality. * A little more reflection implemented. * Misc other bug-fixes and improvements. System: * Implemented Nullable and Nullable[T] classes. * Implemented the Socket class (and friends). Only the very basic operations are currently implemented. A socket can be created, used to listen or connect and can send and receive data. Only IPv4 is supported and at the moment only TCP is support (UDP to be added later). More will be implemented later. corlib: * A little more reflection implemented. ------------------------------------------------------------------------------ Major changes from v0.1 to v0.2.0 The Interpreter: * The main interpreter loop has changed from a 'loop with switch' to use direct threading (see http://en.wikipedia.org/wiki/Threaded_code for details). This gives a performance advantage, although not on Windows as having __asm code in a function appears to stop all other optimizations. The assembler code is only required on non-GNU compilers as GNU provides the computed goto statement. * A dynamic code generator (strictly, just a combiner) has been implemented, which dynamically generates multi-opcode instructions. However, it is disabled by default because it currently generates dynamic code for all JITted methods, which uses large amounts of memory, and is not always faster (due to code caching). An algorithm to selectively re-JIT frequently-used methods is being worked on. * Split out the configuration into a seperate Config.h file. * Misc other bug-fixes and improvements. System.Drawing: * Implmented LinearGradiantBrush * Fixed bug in HatchBrush that caused all hatches to be drawn 90 degrees rotated.