LilyPond — Changes

This document lists changes and new features in LilyPond version 2.27.0 since 2.26.

Note: LilyPond releases can contain syntax changes, which may require modifications in your existing files written for older versions so that they work in the new version. To upgrade files, it is strongly recommended to use the convert-ly tool distributed with LilyPond, which is described in Updating files with convert-ly. convert-ly can perform almost all syntax updates automatically. Frescobaldi users can run convert-ly directly from Frescobaldi using “Tools > Update with convert-ly…”. Other editing environments with LilyPond support may provide a way to run convert-ly graphically.


New for musical notation


Rhythm improvements

  • By default, strictly alternating meters consisting of 4/4 and 2/2 are printed in a historic style using multiple C or cut-C symbols.
    {
      \time #'((2 . 2) (2 . 2))
      b'1 2 2
    }
    
    [image of music]
  • The automatic beaming algorithm now can be told to interrupt an automatically created beam at some point using \beamBreak. Similarly, using \noBeamBreak, two adjoining notes can be forced to get beamed together:
    \relative {
      c''8 c c c d d \beamBreak d d
      \time 2/4
      c8 8 8 8
      8 8 \noBeamBreak 8 8
      4. 8 \noBeamBreak
      8 4 8
    }
    
    [image of music]

Editorial annotation improvements

  • The Scheme function parenthesize-stencil got an optional argument to lengthen the parentheses.
  • The Scheme function bracketify-stencil got an optional argument to lengthen the brackets.

New for specialist notation

  • The chord name input x:1/x gets now rendered as ‘N.C./x’.
    \chords { d:1/d }
    
    [image of music]
  • White mensural ligatures now support final ascending longae facing backwards, obey tweaks in more cases, and handle errors more gracefully.
    \score {
      \new PetrucciStaff {
        \clef "petrucci-c4"
        \[ g\breve f \tweak ligature-pes ##t c'\longa \]
      }
    }
    
    [image of music]
  • Stanza numbers in lyrics are now created with a dedicated \stanza ... command. This replaces the former syntax \set stanza = ....
    \relative {
      c'4 c g' g
      a a g2
    }
    \addlyrics {
      \stanza "1."
      Twin -- kle, twin -- kle, lit -- tle star
    }
    \addlyrics {
      \stanza "2."
      When the bla -- zing sun is gone
    }
    
    [image of music]
  • Stanza numbers in lyrics can now be auto-repeated at the beginning of each line. To activate this feature, set the stanzaReminders property to #t:
    \new Voice \relative {
      \key e \minor
      b'4 b a g
      fis2 e \break
      b'4 cis d b
      e2 dis \break
      e4 g fis fis
      e1
    }
    \addlyrics {
      \stanza "1."
      \set stanzaReminders = ##t
      Je -- su, mei -- ne Freu -- de,
      mei -- nes Her -- zens Wei -- de,
      \set stanzaReminderText = "(1st)"
      Je -- su, mei -- ne Zier.
    }
    \addlyrics {
      \stanza "2."
      Un -- ter dei -- nem Schir -- men
      bin ich vor den Stür -- men
      \set stanzaReminders = ##t
      \set stanzaReminderText = #make-tiny-markup
      al -- ler Fein -- de frei.
    }
    
    [image of music]

Miscellaneous improvements

  • The new commands \startGradualTempoChange and \stopGradualTempoChange describe a temporary departure from the prevailing tempo. Currently, these affect only MIDI output.
  • These functions, which have been deprecated since version 2.13.19, have been removed: \deprecatedcresc, \deprecatedendcresc, \deprecateddim, and \deprecatedenddim.

For older news, go to https://lilypond.org/doc/v2.22/Documentation/changes/, or go back to the Documentation index.


Table of Contents

LilyPond Changes v2.27.0 (development-branch).