Prism & Oxygene: The "September 2011" Release and Beyond

This blog post is a bit of two things: an announcement of a new Prism update release, and a look at our development model for Oxygene for the next few months with a look at what’s to come next.

The Prism / Oxygene for .NET “September 2011” Release

As you all know, at the end of august we shipped version 5 of our Oxygene compiler for .NET in Embarcadero Prism XE2. This release marked a complete rewrite of the compiler (and much of the related IDE code), so in many ways, this was almost a “1.0” release. As such, we felt the need to prepare for being able to deliver quicker and more frequent updates rather than letting you all wait until April for the next update.

The first fruit of that is our new “September 2011” release which we promoted and RTMed last friday; the release is available from our Licensed Downloads section now and should be making its path thru Embarcadero and be available from their end as well within the week.

“September 2011” is not a feature release, meaning it contains only bug fixes and stability improvements – over 75 of them. You can see the full change log here. This means it should be 100% safe for any user of XE2 to update to, and in fact we strongly recommend that you do.

Getting Updates from RemObjects

Incidentally, a lot of people have asked us recently whether they can get support and updated builds of Prism directly from us. We’re happy to oblige, and we have put new infrastructure in place on our customer portal that allows you to register your Prism XE2 serial with us (if you didn’t buy Prism XE2 from our online shop in the first place; which you really should ;).

Just create an account with us (or log in with your existing account, if you already have one), put in your serial, and you’re all set.

Benefits of registering your serial with us include:

  • Direct access to new builds from our Customer Portal, often before they are available from Embarcadero.
  • Access to the beta program for Oxygene with (usually) weekly gamma or beta builds (more on that below).
  • Support for Prism from our staff.

The (Short Term) Future Roadmap for Oxygene

So what’s next for Oxygene? As you know, development for “Cooper”, our flavor of Oxygene for Java, is in the works and scheduled to see the light of day, soon.

Let’s have a look at what we have planned, and also use that opportunity to get a behind-the-scenes glimpse at our development model (expanding on my previous post about git branching).

Right now, development of Oxygene is happening on two main branches, as shown in the diagram below. On the “stable” branch, we are continuing with bug fixes and (small) enhancements for Oxygene for .NET; on the “develop” branch, we are working on Cooper. Of course, all the fixes we do on “stable” get merged back into “develop” frequently, so the Cooper codebase is a true super-set of the Oxygene for .NET codebase right now.

We are planning to keep doing monthly non-feature release of Oxygene for .NET (i.e. Prism) based on the “stable” branch, at least for October and November – and possibly into 2012 as well (although we will be skipping December, because the end of December is an odd time to do a release, with the holidays, vacation times and all). We will have weekly “gamma” builds for those available to all registered users (see above). These gamma builds will give you early access to the fixes we’re making; they should be safe to install, but do not go thru the full QA cycle a “master” release would. (Gamma releases are particular useful for you if we fixed a bug that is biting you.)

At the same time, we’ll also keep doing weekly “beta” releases for our Cooper pre-order customers.

Shortly before the “November 2011” release, we are planning to merge the Cooper codebase up into “stable”, so the November release will unify both Oxygene for Java and Oxygene for .NET (for which we use the code name “Echoes”) in one place. Moving forward from November, every public release we build will support .NET and Java from the same bits.

The two-brached development approach will continue though, with bug fixes (now for Prism and Cooper) going on “stable” and new feature development happening on “develop”. If we keep releasing monthly interim releases, they will come from the “stable” branch. Come next spring, when it’s time to do our next feature release, “develop” will once again merge into “stable”.

Of course, feature development beyond the Cooper RTM in November is already going on in sub-branches off “develop” – illustrated by the “develop-x” branch in the diagram above. Once those are ready (and once Cooper has been promoted to “stable”) these will be merged up to “develop”, and come into an upcoming beta build; similarly, some work is being done off the “stable” branch – illustrated by “stable-y” in the diagram – and might or might not be promoted for inclusion into a monthly interim build. One such example which I mentioned in my post yesterday is the base Visual Studio 11 support, currently in “stable-feasture-vs11” (while WinRT support and more advanced Metro and VS11 integration and .NET 4.5 language features are happening in “develop-feature-winrt” and “develop-feature-net45”).

If things go well, experimental Visual Studio 11 support might go into the October 2011 release.

Summary

So to summarize:

  • We recommend you update to the new “September 2011 release”.
  • Make sure to register your Prism XE2 serial with us!
  • Lot’s more work ahead for the next half year ;)

Make sure to visit oxygenelanguage.com to learn more about Oxygene.

yours,
marc