Although I use abc music notation quite a lot, I haven’t looked at the specification for a while. I’ve always prefered to use the old 1.6 standard. To me, the main advantage of abc is the simple syntax to transcribe melodies, sometimes with chords or lyrics. There’s a trend going on to expand abc to a complete music description language for complicated multivoice music. However, the thousands of abc tunes online are mostly simple melodies. For music typesetting there are much better solutions, like Lilypond. The Lilypond syntax is more complicated than plain abc, but writing multivoice scores in abc is not much easier.
Since I’m working on new abc software I’ve had a look at the specification. The latest version is 2.1. Of course the 1.6 specification is a little informal. There have been many additions to abc 1.6 and the new standard is an effort to standardize these extensions. Unfortunately they’ve also deprecated part of the older abc files, so most of the abc music online does not conform to abc 2.1. New abc 2.1 files should start with a file format identification ‘%abc’ or ‘%abc-2.1’. A quick google search shows that after almost two years there are only three files using the ‘%abc’ identifier and a handful of tunes using the ‘%abc-2.1’ version. So who’s using the new specification?
To keep things simple I think I’m going to stick with abc 1.6 and add my own extensions for everything that isn’t covered by 1.6.