1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename lilypond-changes.info
3 @settitle LilyPond Changes
8 @macro inputfileref{DIR,NAME}
9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
11 @macro usermanref{NAME}
12 @inforef{\NAME\,,../user/lilypond/lilypond}@c
17 @macro inputfileref{DIR,NAME}
20 @macro usermanref{NAME}
21 See user manual, \NAME\
25 @macro textanchor{NAME}
32 @documentencoding utf-8
39 @top New features in 2.18 since 2.16
41 @allowcodebreaks false
49 * add new items at the top
51 * only show verbatim input for syntax/input changes
53 * try to be as brief possible in those cases
55 * don't try to provide real-world examples, they often get too big,
56 which scares away people.
58 * Write complete sentences.
60 * only show user-visible changes.
65 Starting with version@tie{}2.17.10, error messages or the
66 @code{textedit} @acronym{URI} used for point-and-click
67 functionality specify column numbers starting with@tie{}1 rather
68 than@tie{}0. The byte offset (also part of @code{textedit}
69 @acronym{URI}s) still starts at@tie{}0.
72 The @code{\clef} command supports optional octavation:
73 @lilypond[verbatim,quote,relative=1]
81 The LilyPond syntax of dot-separated words @code{Voice.Accidental}
82 has been made interchangeable with @code{#'(Voice Accidental)}, a
83 Scheme list of symbols. As one result, code like
85 \override Voice.TextSpanner #'(bound-details left text) = "rit."
89 \override Voice.TextSpanner bound-details.left.text = "rit."
93 \override #'(Voice TextSpanner) bound-details.left.text = "rit."
97 Grob and grob property path no longer need to be specified as two
98 separate arguments to commands like @samp{\override} and
99 @code{\revert}, allowing for the syntax
101 \override Voice.TextSpanner.bound-details.left.text = "rit."
103 Since complementary music functions like @samp{\overrideProperty}
104 cannot support forms with and without separating space at the same
105 time, using a single dotted path is now the preferred form.
106 Specifying grob path and grob property path separately, currently
107 still supported with @samp{\override} and @samp{\revert} for
108 compatibility reasons, is deprecated.
111 Due to words now being accepted as symbol function arguments, the
112 interfaces of @samp{\accidentalStyle}, @samp{\alterBroken},
113 @samp{\footnote} and @samp{\tweak} had to be redesigned where
114 optional symbol arguments were involved. Please check the
115 respective music function documentation for details.
118 Several commands now accept symbol lists (conveniently entered as
119 dot-separated words) for various kinds of arguments. These
120 include @samp{\accidentalStyle}, @samp{\alterBroken},
121 @samp{\footnote}, @samp{\hide}, @samp{\omit},
122 @samp{\overrideProperty}, @samp{\shape}, and @samp{\tweak}.
125 The bar line user interface has changed. Bar glyphs now resemble the
126 appearance of the bar line, so a left repeat sign has to be coded
127 as @code{.|:}. The command @code{\defineBarLine} provides an easy way
128 to define additional bar line styles.
131 Accidentals in the key signature may be printed in octaves other
132 than their traditional positions, or in multiple octaves.
133 @lilypond[quote,relative=0]
134 \override Staff.KeySignature #'flat-positions = #'((-5 . 5))
135 \override Staff.KeyCancellation #'flat-positions = #'((-5 . 5))
136 \clef bass \key es\major es g bes d
137 \clef treble \bar "||" \key es\major es g bes d
138 \override Staff.KeySignature #'sharp-positions = #'(2)
139 \bar "||" \key d\major b fis b2
145 For older news, go to
146 @uref{http://lilypond.org/doc/v2.16/Documentation/changes/},
147 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/},
148 or @uref{../,go back} to the Documentation index.