by Miguel de Icaza

Weekend

We finally released Mono 1.1.4 and Mono 1.0.6. With this release we are recommending users to switch to the 1.1.x branch, as our automated testing and regression suites are much better than they ever were on 1.0.6.

The runtime is faster, smaller, leaner and we have fixed many bugs and architectural problems that were hard to backport to 1.0.6.

Programmers that have only been using Mono, and have not tested their code on .NET should keep an eye open for a few problems that might be exposed with the stricter 1.1.4 runtime:

  • C# compiler is stricter when it comes to namespace and typename resolution. Tomboy is known to not build with it.
  • Marshalling: A few incorrect uses of marshalling are now reported (Pointers can not reference marshaled structures, you must use byref in your P/Invokes, this affected F-Spot, but only marginally, F-Spot fallsback into a slower operation mode).
  • If you create delegates and pass those to unmanaged code as way to callback into managed land, you must keep a reference to the delegate, or the delegate will be garbage collected. This affected some old Gtk# applications. You will receive a warning message with the details to fix this problem.

The full release notes are available here

The performance difference is very visible on web-based applications. Our documentation system for example is now instantaneous.

DB4Objects

We have also started distributing DB4Objects from Mono's web site. For those of you that are missing ObjectSpaces, you might find db4o not only interesting, but faster than what ObjectSpaces could have been.

New Tool

We have included Paco's prj2make on the latest release of Mono. prj2make is a tool that produces Makefiles from Visual Studio or MonoDevelop solutions. Specially convenient if you download some random code from the network.

SHA-1 and SHA-224

This is the first release that ships with the security sandbox infrastructure, Sebastien has the full story.

Last week SHA1 was broken. Because of this Sebastien is trying to get users to vote for incorporating SHA-224 into the Framework, see the details here. Mono users can use the Mono.Security stack that ships with this and more.

Installers for Mono

Installers: The folks at RawByte.com have been kind enough to package Mono with an installer that will work on all Linux systems. Many users love this, specially those without Red Carpet or Yum, as they only have to download a single binary and they get the whole system setup: Mono, all the class libraries, Gtk# and XSP. Like our Windows installer.

There are two downsides to using the installer: for those using distributions with package management, the installer wont register Mono on the system, which means that third-party components that depend on Mono will still want RPM packages installed (or people have resorted to use the --force parameter for RPM). The second downside is that this ships a Mono configured for the smallest common denominator, so speed will suffer as Mono does not use the __thread-based local storage and has to go through a slower (but backwards compatible) system.

Hula

Hula's launch has been very successful. The Hula Channel is very active: people contributing patches, ports and various folks interested in the dynamic web interface are hanging out there. There is plenty of energy there.

We are planning on following Hula's plan to use MediaWiki as the main page for the site, because updating the Mono web site has always been a bit annoying.

Also, many people read Jamie's posting on Hula and miss-understood that Jamie was actually praising Nat's final direction on Hula, so there are plenty of comments along the lines of `Jamie slams Hula' and `They are clueless, we are not'.

Being very interested in politics, I see this phenomenon as an interesting window into the human soul: if these very smart technical people have problems understanding a post like that, what does that say for people trying to discuss and debate the finer points of public policy?

Posted on 19 Feb 2005