One Small Step For MOC Stable, One Giant Leap For MOC Devel

Most MOC users have not heard much from the top floor of MOC Corporate Headquarters during the past eighteen months. There were some activities planned for 2015 which would have taken the focus off MOC development for a month or two, but as things unfolded it turned out to be an annus horribilis -- a truely terrible year in which even those planned activities had to be sacrificed. However, development is underway again and today we have two release announcements to make.

The less significant of these announcements is that MOC 2.5.1 has now hit the shelves. This is maintenance release so there're no new features in it but a handful of bug fixes (and the term "bug" is used fairly loosely here). Perhaps the most significant of these is the adaption to the FFmpeg 3.0 API and the fixing of some build errors on *BSD systems.

Of much more significance is the release of MOC 2.6-alpha2. This release repositions MOC as being compliant with the C99 (ISO/IEC 9899:1999) and POSIX.1-2001 (IEEE 1003.1:2001 or ISO 9945:2002) standards. Although this means MOC should now be able to build and run on any platform having a C99 capable compiler and a POSIX.1-2001 compatible system (and much work has gone into try and ensure it does), there is some confusion in the interpretation of the standards between (and even within) various platforms and there may be non-compliant code which has been overlooked, so at this time standards compliance should be regarded as being aspirational rather than accomplished. It is important that those who are able to build from source on their own platforms do so and report any build problems they encounter; that's the only way to move closer to the fully standards compliant goal.

In addition, other 2.6-alpha2 highlights include: compiler warnings new in GCC-5 and 6 have been addressed, mono-mixing and softmixing now work independantly, VQF and TTA formats are now supported (via FFmpeg/LibAV), MOC now uses POPT for command line parsing (see the mocp manpage for details) and in-memory circular logging is now available for long-running MOC sessions.

As always, the respective NEWS files contain a more detailed summary of the changes in the two releases, and the SVN commit log will reveal every single change in much more detail than most will want to know.

So, where to now? The main theme of MOC 2.6 is the integration of user-contributed patches. Already work on 2.6-alpha3 is well advanced and includes several long-awaited features, so it should not be as long a wait for this release.

And finally a small service announcement: a reminder that MOC's SVN is now at svn://svn.daper.net/moc