Changes in OpenLyrics

Release 0.9 (unreleased)

  • Make <song> attributes createdIn, modifiedIn and modifiedDate optional.
  • Add default language: xml:lang for <song>.
  • Add support for instrumental parts (<instrumental>) and beats (<beat>) alongside new verse types: other, intro, solo, middle.
  • Add support for repeating lines (<lines repeat="2">)
  • Add support for chordNotation attribute (chordNotation="hungarian")
  • Add support for non empty chords (<chord root="C" structure="dom7">lyrics...</chord>)
  • Add support for chord root, structure, bass attributes (<chord root="C" structure="min" bass="Eb"/>) by checking compliance, remove chord name attribute
  • Add “tool/openlyrics-0.8-to-openlyrics-0.9.xsl” to convert songs from OpenLyrics 0.8.
  • Add “tool/openlyrics-0.9-to-openlyrics-0.8.xsl” to convert songs from OpenLyrics 0.9 to 0.8.
  • Add “Makefile” to check well formedness, validity, and conversions.
  • Restrict values for musical key.
  • Restrict transposition between -11 and 11.
  • Add support for timeSignature.
  • Add arrangement type for author (<author type="arrangement">Name</author>).
  • Remove mandatory flag from author type=translation, as it may match the language of the XML document (xml:lang).
  • Documentation for formatting tags
  • Supply missing documentation for translit with title and theme
  • Add support for theoretical keys

Release 0.8 (15 Apr 2012)

  • Add support for application specific formatting tags in <lines> tag.
  • Drop tag <line>, for line endings is used tag <br/>
  • Rename <customVersion> to <version>.
  • Rename <releaseDate> to <released>.
  • Remove the ‘id’ attribute of the <theme> tag, as it was based on a line number in a file, which is not very accurate, nor very reliable.
  • Add script ‘tools/’ to convert songs from older OpenLyrics versions.

Release 0.7 (24 Mar 2010)

  • Move attribute ‘xml:lang’ to just ‘lang’ since the tag could not always contain text in another language but also transliteration.

  • Allow empty lines by using syntax <line/> or <line></line> for that.

  • Add ‘e’ (ending) as a new reserved (standardized) name for verses (including other variants like e1, e2, e1a, ea, …): <verse name="e">.

  • Add transliteration support, attribute translit="". can be used in tags <title>, <theme>, <verse>.

  • Add multiple songbooks entries. Syntax changed from tags <collection> and <trackNo> to:

      <songbook name="This is a Songbook Name" entry="123"/>
  • Add script ‘’ to convert OpenSong songs to OpenLyrics format.

  • Add examples of some public domain songs or not copyrighted.

Release 0.6 (22 Dec 2009)

  • Drop tag <customData> (is ambiguous).

Release 0.5 (06 Dec 2009) - final draft

  • Allow custom verse names <verse name="custom_name_name">.
  • Custom tempo <tempo type="custom">steadily</tempo>.
  • Stay with only one key (any text) <key>C#</key>.
  • Allow any chord notation (any text).
  • Restrict ccli theme ‘id’ to range 1-999.
  • Theme value can’t be empty.
  • Namespace changed from to
  • Content of an optional tag is mandatory, when the tag present in xml.

Release 0.4 (21 Nov 2009) - draft

  • Move to RelaxNG xml schema.
  • Tag attribute change. xml:lang describes the language of an tag. Change from <author type="translation" xml:lang="cs"> to `` <author type=”translation” lang=”cs”>``.
  • Xml schema: in ‘author’ tag attribute ‘lang’ is required when attribute ‘type’ contains value ‘translation’ <author type="translation" lang="cs">.

Release 0.3 (18 Nov 2009) - draft

Release 0.2 (16 Nov 2009) - draft

Release 0.1 (28 Nov 2008) - draft