]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/changes.tely
Merge branch 'master' into lilypond/translation
[lilypond.git] / Documentation / changes.tely
index eaa4f1b7d1bb4e79a06ed18782f4a2189cc64722..8281811608c63ac3b6cf840898e44f43e5c0b298 100644 (file)
@@ -36,11 +36,11 @@ See user manual, \NAME\
 @finalout
 
 @node Top
-@top New features in 2.13 since 2.12
+@top New features in 2.16 since 2.14
 
 @allowcodebreaks false
 
-@itemize @bullet
+@itemize
 
 @ignore
 
@@ -62,562 +62,212 @@ which scares away people.
 @end ignore
 
 @item
-Lilypond typesets woodwind fingering charts.
-@lilypond
-\relative c' {
-  \textLengthOn
-  des1^\markup {
-    \woodwind-diagram #'bassoon #'((lh . (thumb-cis))
-                                   (cc . (one two three five six))
-                                   (rh . (f)))
-    } _"bassoon"
-  c1^\markup {
-    \woodwind-diagram #'oboe #'((rh . (c))
-                                (lh . ())
-                                (cc . (one two three four five six)))
-    } _"oboe"
-
-}
-@end lilypond
-
-@item
-MIDI-import through Midi2ly is improved
-@itemize @bullet
-@item Midi2ly now also works on Windows systems
-@item MIDI-files with more than 32 tracks are now handled
-@item notes on certain simultaneous voices no longer ignored
-@item notes overrunning a bar line are no longer truncated
-@item initial key signature and time signature are respected
-@item a problem with octaves in subsequent tracks/voices is fixed
-@item initial support for multiple voices notated on one staff
-@item the instrumentName is set from track data
-@item new --skip option, rests are displayed by default
-@item rests overrunning a bar line are not truncated
-@item new --include-header option for setting titles
-@item new --preview option for big MIDI-files
-@end itemize
-The first feature was sponsored by Valentin Villenave,
-the other features were sponsored by Image-Line Software for FL Studio.
-
-@item
-A new @code{Completion_rest_engraver} is available for automatically
-converting long rests which overrun bar lines, matching the
-@code{Completion_heads_engraver} for notes
-@example
-\layout @{
-  \context @{
-    \Voice
-    \remove "Note_heads_engraver"
-    \consists "Completion_heads_engraver"
-    \remove "Rest_engraver"
-    \consists "Completion_rest_engraver"
-  @}
-@}
-@end example
-This feature was sponsored by Image-Line Software for FL Studio.
-
-@item
-Dots can be added to the table of contents items using:
-@example
-\paper @{
-  tocItemMarkup = \tocItemWithDotsMarkup
-@}
-@end example
-
-@item
-New markup commands @code{\pattern} and @code{\fill-with-pattern} are available.
-@lilypond
-\markup \column {
-  \pattern #3 #Y #0.3 \flat
-  \null
-  \pattern #7 #X #2 \flat
-  \override #'(line-width . 40) \fill-with-pattern #1 #CENTER . left right
-}
-@end lilypond
-
-@item
-A minimal composer toolkit of modal transformations is provided.
-A motif may be @notation{transposed}, @notation{inverted} and/or
-converted to its @notation{retrograde} within any scale.
-
-@lilypond
-pentatonicScale = \relative a' { a c d f g }
-motif = \relative c'' { d8 c f,4 <a f'> <a f'> }
-
-\new Staff <<
-  {
-    \partial 4
-    \pentatonicScale
-    \motif
-    \modalTranspose c a, \pentatonicScale \motif
-    \modalInversion d'' a' \pentatonicScale \motif
-    \retrograde \motif
-  }
-  {
-    \partial 4
-    s4^"pentatonic scale"
-    s1
-    s1^"motif"
-    s1^"transposition"
-    s1^"inversion"
-    s1^"retrograde"
-  }
->>
-@end lilypond
-
-@item
-Black mensural notation has minimal support.
-
-@item
-Support for obliqua shapes within white mensural ligatures enhanced.
-@lilypond
-\context MensuralStaff
-{
-  \clef "petrucci-c3"
-  \[
-    \override NoteHead #'style = #'semipetrucci
-    c'\maxima
-    \override NoteHead #'style = #'blackpetrucci
-    a\breve
-    \revert NoteHead #'style
-    \override NoteHead #'ligature-flexa = ##t
-    \override NoteHead #'flexa-width = #3
-    g
-    g'
-    \override NoteHead #'flexa-width = #5
-    c'
-    d'
-    \revert NoteHead #'style
-    c'\longa
-  \]
-}
-@end lilypond
-
-@item
-Compound time signatures are now supported by the @code{\compoundMeter} command,
-which can be used instead of @code{\time}:
-@lilypond
-\relative c'' {
-  \compoundMeter #'(3 1 8)
-  c8 c c c
-  \compoundMeter #'((2 8) (5 8))
-  c8 c c c c c c
-  \compoundMeter #'((1 2 3 8) (1 4) (3 8))
-  c8 c c c c c c4 c8 c c
-}
+Flags are now treated as separate objects rather than as stem parts.
+@lilypond[fragment,quote,relative=2]
+\override Flag #'color = #red
+g8
 @end lilypond
 
 @item
-Lyrics above a staff must have their @code{staff-affinity} set to
-@code{DOWN} or must have their @code{alignAboveContext} property
-set in order to be properly aligned.  For more information, see
-@ruser{Placing lyrics vertically}.
+Two alternative methods for bar numbering can be set, especially for
+when using repeated music;
 
-@item
-@code{stringTunings} property values have changed from a list of
-semitones above middle C to a list of LilyPond pitch values.
-convert-ly will handle the change automatically where the value
-of @code{stringTunings} is set to a Scheme constant value.
-
-New commands @code{makeStringTuning} and @code{contextStringTuning}
-allow the creation of string tunings in the form of a Lilypond
-chord construct.
-
-@item
-By using @code{\cueDuringWithClef}, cue notes can now also have their own
-clef, which is correctly reset at the end of the cue notes.  At the begin
-of each line, the standard clef is still displayed, but the cue clef is
-shown after the time/key signature in smaller size.
-@lilypond
-vI = \relative c'' { \clef "treble" \repeat unfold 40 g4 }
-\addQuote vIQuote { \vI }
-
-Solo = \relative c {
-  \clef "bass"
-  \cueDuringWithClef #"vIQuote" #DOWN #"treble" { R1 } |
-  c4 \cueDuringWithClef #"vIQuote" #DOWN #"treble" {
-    r4 r2 |
-    r4
-  } c4 c2 |
-  \cueDuringWithClef #"vIQuote" #DOWN "soprano" { R1*2 \break R1 } |
+@lilypond[fragment,quote,relative=1,noragged-right]
+\relative c'{
+  \set Score.alternativeNumberingStyle = #'numbers
+  \repeat volta 3 { c4 d e f | }
+    \alternative {
+      { c4 d e f | c2 d \break }
+      { f4 g a b | f4 g a b | f2 a | \break }
+      { c4 d e f | c2 d }
+    }
+  c1 \break
+  \set Score.alternativeNumberingStyle = #'numbers-with-letters
+  \repeat volta 3 { c,4 d e f | }
+    \alternative {
+      { c4 d e f | c2 d \break }
+      { f4 g a b | f4 g a b | f2 a | \break }
+      { c4 d e f | c2 d }
+    }
   c1
 }
-
-\score {
-  <<
-    \new Staff \new Voice \Solo
-  >>
-}
 @end lilypond
 
-
-@item
-Note names can be selected with a new
-@code{@bs{}language "italiano"} command, which
-can be used in safe mode.  The old
-@code{@bs{}include "italiano.ly"} syntax is
-still supported for now, but will be deprecated
-in the future.
-
-@item
-autobeaming is now disabled by @code{\cadenzaOn} and enabled by
-@code{\cadenzaOff}.  Beaming in cadenzas should be indicated manually.
-Also, if a cadenza is used in a piece with autobeaming disabled, it
-will need to be disabled again after the cadenza.
-
 @item
-The user is now able to specify the name of the predefined fretboard
-table.  This allows the use of multiple tables, with switching between them
-based on user input.
-
-@item
-The part-combiner's decision to combine/not combine notes can now be customized
-@lilypond[quote,relative=2]
-\partcombine
-\relative c' { c2 \partcombineApart c | \partcombineChordsOnce e' e }
-\relative c' { c2 \partcombineApart c | c c }
+The following is a fundamental change in LilyPond's music
+representation: Rhythmic events like @code{LyricEvent} and
+@code{NoteEvent} are no longer wrapped in @code{EventChord} unless they
+have been actually entered as part of a chord in the input.  If you
+manipulate music expressions in Scheme, the new behavior may require
+changes in your code.  The advantages of making input and music match
+more closely are numerous: music functions previously worked differently
+when used inside or outside of chords.  Now they are the same, including
+all the possibilities of argument parsing.  You can now use music
+variables inside of chords: a construct like
+@lilypond[quote,ragged-right]
+tonic=fis'
+{ <\tonic \transpose c g \tonic> }
 @end lilypond
-
-@item
-Tablature staves show fret numbers only by default. To get the
-former style, @code{\tabFullNotation} is provided.
-
-@item
-Funk-style and Walker-style shape notes have been added.
-
-@item
-Rests will no longer keep a staff alive if @code{\RemoveEmptyStaffContext}
-is used.
-
-@item
-New option @code{-dinclude-settings=INCLUDEFILE.ly}, which causes lilypond
-to include the given file before the score is processed. This allows the
-user to change global settings without the need to change the score itself.
-That way, several different editions/version (e.g. different page sizes)
-can be generated from a file without having to modify the score for each
-version.
-
-@item
-The autobeaming settings syntax has been changed.  beatLength,
-beatGrouping, beamSettings, and measureGrouping have all been eliminated.
-Autobeaming is now controlled by baseMoment, beatStructure, and
-beamExceptions.  Default settings for each of these properties can be
-stored for any time signature in time-signature-settings, so that
-when the time signature is changed, the autobeaming will automatically
-change.  The new syntax should be much easier and require fewer
-overrides.
-
-@item
-The SVG backend has optional support for
-@uref{http://www.w3.org/Submission/WOFF, WOFF fonts}.  Using the Scheme
-option @code{-d svg-woff} together with the SVG backend selection
-@code{-d backend=svg}, produces SVG output with CSS WOFF font selection.
-
-@item
-The LilyPond G clef has been rotated 1.5 degrees clockwise for improved
-balance.  The old and new versions can be compared by looking at the
-documentation:
-@uref{http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs,
-old version},
-@uref{http://lilypond.org/doc/v2.13/Documentation/notation/the-feta-font.html#Clef-glyphs,
-new version}.
-
-
-@item
-Text crescendo spanners can now be added directly using @code{\cresc},
-@code{\dim} and @code{\decresc}.
-@lilypond[quote,relative=2]
-c4\cresc c c c\f |
-c4\dim c c c\!
+@noindent
+would have been unthinkable previously.  You can use
+@code{#@{@dots{}#@}} for constructing chord constituents.  Music
+functions inside of chords are no longer specially treated and thus
+accept the same arguments as outside of chords.  @code{\tweak} now works
+on single notes without needing to wrap them in a chord.  String number
+indications like @code{\1} can be used on single notes.  If you need to
+suppress them in some context, override their @code{stencil} with
+@code{##f}.
+
+@item
+Scheme expressions inside of embedded Lilypond (@code{#@{@dots{}#@}})
+are now executed in lexical closure of the surrounding Scheme code.
+@code{$} is no longer special in embedded Lilypond.  It can be used
+unconditionally in Lilypond code for immediate evaluation, similar to
+how @code{ly:export} could previously be used.  @code{ly:export} has
+been removed.  As a consequence, @code{#} is now free to delay
+evaluation of its argument until the parser actually reduces the
+containing expression, greatly reducing the potential for premature
+evaluation.
+
+@item
+Support for jazz-like chords has been improved: Lydian and altered
+chords are recognised; separators between chord modifiers are now
+treated independently of separators between ``slash'' chords and their
+bass notes (and by default, slashes are now only used for the latter
+type of separator); additional pitches are no longer prefixed with
+``add'' by default; and the ``m'' in minor chords can be customized.
+@ruser{Customizing chord names} for more information.
+
+@item
+The @code{\markuplines} command has been renamed to @code{\markuplist}
+for a better match with its semantics and general Lilypond
+nomenclature.
+
+@item
+The interface for specifying string tunings in tablature has been
+simplified considerably.
+
+@item
+Beams can now have their slopes preserved over line breaks.
+@lilypond[fragment,quote,relative=2]
+\override Beam #'breakable = ##t
+a8[ b c d e f g \bar "" \break f e d c b a]
+\once \override Beam #'positions = #beam::align-with-broken-parts
+a8[ b c d e f g \bar "" \break f e d c b a]
+\once \override Beam #'positions = #beam::slope-like-broken-parts
+a8[ b c d e f g \bar "" \break f e d c b a]
 @end lilypond
-
-
-@item
-The documented syntax of @samp{lilypond} environments in the @LaTeX{}
-mode of @command{lilypond-book} has been changed to conform with
-standard @LaTeX{} syntax: options now come after the environment name:
-@example
-\begin@{lilypond@}[@var{options}] @dots{}
-@end example
-
-The previous syntax with options after @samp{\begin} is still accepted
-by @command{lilypond-book} but deprecated.  Something like
-@example
-sed -i '/begin\[/s/begin\(\[[^]]*]\)\(@{lilypond@}\)/begin\2\1/'
-@end example
-
-might do the trick for conversion.
+To do this, several callback functions are now deprecated.
+@itemize
+@item @code{ly:beam::calc-least-squares-positions}
+@item @code{ly:beam::slope-damping}
+@item @code{ly:beam::shift-region-to-valid}
+@end itemize
+Furthermore, @code{ly:beam::quanting} now takes an additional argument
+to help calculations over line breaks.  All of these functions are now
+automatically called when setting the @code{positions} parameter.
 
 @item
-Aesthetics of shape note heads have been enhanced.  Variable line thicknesses
-have been implemented.  All note widths have been made consistent.
-Minor shape note commands that use the relative major key for scale steps
-have been added.
+In function arguments music, markups and Scheme expressions (as well
+as several other syntactic entities) have become mostly
+interchangeable and are told apart only by evaluating the respective
+predicate.
 
 @item
-A variant of the Segno sign is provided:
-@lilypond[quote,relative=2]
-c4 d e f \bar "S"
-g4 f e d
-@end lilypond
+Music functions (and their close relatives) can now be defined with
+optional arguments.
 
 @item
-Context modifications (@code{\with} blocks) can be stored in variables and
-inserted into contexts or other @code{\with} blocks:
-@lilypond[quote,verbatim]
-coloredheads = \with { \override NoteHead #'color = #red }
-noclef = \with { \remove "Clef_engraver" }
-\score {
-  \new Staff {
-    \new Voice \with { \coloredheads } \relative c' { c4 e g c }
-  }
-  \layout {
-    \context {
-      \Staff
-      \noclef
-    }
-  }
-}
-@end lilypond
+For defining commands executed only for their side-effects,
+@code{define-void-function} is now available.
 
 @item
-A half-open articulation was added:
-@lilypond[quote,relative=2]
-c4\halfopen
+There is a new @code{define-event-function} command in analogy to
+@code{define-music-function} that can be used for defining music
+functions acting as events without requiring a direction specifier
+(@code{-}, @code{^}, or @code{_}) placed before them.
+@lilypond[quote,verbatim,ragged-right]
+dyn=#(define-event-function (parser location arg) (markup?)
+         (make-dynamic-script arg))
+\relative c' { c\dyn pfsss }
 @end lilypond
-This is sometimes used to indicate half-open hi-hats.
 
 @item
-The Unicode Bidirectional Algorithm is now fully supported for
-single-line markup due to enhanced integration with Pango.
-
-@item
-LilyPond is now licensed under the GNU GPL v3+.
-
-@item
-In tablature, frets can be indicated with labels other than numbers:
-
-@lilypond[verbatim,quote,relative=1]
-\new TabStaff
-\with {
-  stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
-                     ,(ly:make-pitch 1 1 NATURAL)
-                    ,(ly:make-pitch 0 5 NATURAL)
-                    ,(ly:make-pitch 0 3 NATURAL)
-                    ,(ly:make-pitch 0 1 NATURAL)
-                    ,(ly:make-pitch -1 5 NATURAL))
-  tablatureFormat = #fret-letter-tablature-format
-}
-\new TabVoice {
-  \set fretLabels = #`(,(markup #:with-color red "a")
-                       "b"
-                       ,(markup #:italic #:smaller "c"))
-  <f d>4. <bes>8 <g e>4
+A list of ASCII aliases for special characters can be included.
+@lilypond[quote,verbatim]
+\paper {
+  #(include-special-characters)
 }
+\markup "&bull; &dagger; &copyright; &OE; &ss; &para;"
 @end lilypond
 
 @item
-Layout objects can be printed over a white background, which whites-out objects
-in lower layers which lie beneath:
-
-@lilypond[verbatim,quote,relative=1]
-\time 3/4
-\override Staff.StaffSymbol #'layer = #4
-\once \override Tie #'layer = #2
-b'2.~
-\once \override Staff.TimeSignature #'whiteout = ##t
-\once \override Staff.TimeSignature #'layer = #3
-\time 5/4
-b4
-@end lilypond
-
-@item
-Chords can be repeated using the @code{q} shortcut:
-
-@lilypond[verbatim,quote,relative=2]
-<c e g>8.-^ q16 q4-^
-@end lilypond
-
-@item
-With two-sided mode, margins for odd and even pages can be set using
-@code{inner-margin} and @code{outer-margin}:
-
-@example
-\paper @{
-  two-sided = ##t
-  inner-margin = 10 \mm
-  outer-margin = 20 \mm
-@}
-@end example
-
-@item
-Paper margin defaults, as specified in @file{ly/paper@/-defaults-init.ly}, apply
-to the default paper size (a4) and are automatically scaled according to the
-paper size chosen.
-
-@item
-All combinations of @code{left-margin}, @code{right-margin} and
-@code{line-width} work now.  There is no more need to set @code{line-width}
-manually unless you explicitly want to.
-
-@item
-Support for using an alternative music font, such as Gonville, is now
-added.
-
-@item
-In addition to the existing @code{\hspace} markup command,
-a new @code{\vspace} command has been added to provide an easy
-and flexible way to add vertical space in markups.
+There is a new @code{define-scheme-function} command in analogy to
+@code{define-music-function} that can be used to define functions
+evaluating to Scheme expressions while accepting arguments in Lilypond
+syntax.
 
 @item
-The direction of manual beams can be set with @code{^[} and @code{_[}.
+The construct @code{#@{ @dots{} #@}} can now be used not just for
+constructing sequential music lists, but also for single music events,
+void music expressions, post events, markups (mostly freeing users from
+having to use the @code{markup} macro), markup lists, number
+expressions, context definitions and modifications, and a few other
+things.  If it encloses nothing or only a single music event, it no
+longer returns a sequential music list but rather a void music
+expression or just the music event itself, respectively.
 
 @item
-A version of the breve note head has been added with two vertical lines on each side.
-@lilypond[quote,relative=2]
-\time 4/2
-\override Staff.NoteHead #'style = #'altdefault
-c\breve | b\breve
-@end lilypond
+New command-line option @option{--loglevel=@var{level}} to control how much output
+LilyPond creates. Possible values are ERROR, WARN, BASIC_PROGRESS, PROGRESS, DEBUG.
 
 @item
-Instrument names and vocal names now take into account the extent of
-system start delimiters in other staves for their positioning,
-resulting in improved default alignment for left-, center- and
-right-aligned names.
-@lilypond[quote,indent=18\mm]
-<<
-  \new StaffGroup <<
-    \new GrandStaff <<
-      \new Staff {
-        \set Staff.instrumentName = #"Piccolo"
-        c''1
-      }
-      \new Staff {
-        \set Staff.instrumentName = #"Flute"
-        c''1
-      }
-    >>
-    \new Staff {
-      \set Staff.instrumentName = #"Bassoon"
-      \clef tenor
-      c'1
-    }
-  >>
-  \new PianoStaff <<
-    \set PianoStaff.instrumentName = #"Piano"
-    \context Staff = "up" {
-      c'1
-    }
-    \context Staff = "down" {
-      \clef bass
-      c1
-    }
-  >>
->>
+@code{\set \once} now correctly resets the property value to the previous value.
+@lilypond[fragment,quote,relative=2]
+  \set fingeringOrientations = #'(left)
+  <e-1>4
+  \once \set fingeringOrientations = #'(right)
+  <e-1>
+  <e-1>-"left"
 @end lilypond
 
 @item
-Braces in markup can now be selected by point size using the markup commands
-@code{\left-brace} and @code{\right-brace}.
-@lilypond[quote]
-\markup {
-  \left-brace #35
-  \hspace #2
-  \right-brace #45
-}
+The alignment of dynamic spanners (hairpins, text crescendo, etc.) is now
+automatically broken if a different direction is explicitly given.
+@lilypond[fragment,quote,relative=2]
+c4_\< c c^\> c c1_\p
 @end lilypond
 
-@item
-Intermediate .ps files which are created by LilyPond
-during compilation are now deleted by default.  To keep them,
-add the following line to your input files:
-@example
-#(ly:set-option 'delete-intermediate-files #f)
-@end example
 
 @item
-Dashed and dotted slurs, phrasing slurs, and ties
-have been made variable thickness, and
-partially dashed slurs are now available:
-@lilypond[quote,relative=2]
-\slurDashed
-c4( d e f) |
-\slurDotted
-g4( f e d) |
-\slurHalfDashed
-c4( d e f)
+Appoggiaturas and acciaccaturas now also work inside a slur, not only inside
+a phrasing slur. Also, a function @code{\slashedGrace} was added that does
+not use a slur from the acciaccatura note.
+@lilypond[fragment,quote,relative=2]
+c4( \appoggiatura e8 d4 \acciaccatura e8 d4 \slashedGrace e8 c4)
 @end lilypond
 
-@item
-An eyeglasses markup was added, indicating strongly to look at the
-conductor for instructions:
-@lilypond[quote,relative=2]
-\mark \markup { \eyeglasses }
-c4_\markup { \eyeglasses }
-@end lilypond
-
-@item
-A snap-pizzicato (also known as Bartok-pizzicato) articulation was added:
-@lilypond[quote,relative=2]
-c4\snappizzicato
-@end lilypond
 
 @item
-Tuplet number formatting functions are now available to print other fractions
-and to add notes to the number or fraction:
-@lilypond[quote,relative=2]
-\once \override TupletNumber #'text =
-  #(tuplet-number::non-default-tuplet-denominator-text 7)
-\times 2/3 { c4. c4. c4. c4. }
-
-\once \override TupletNumber #'text =
-  #(tuplet-number::non-default-tuplet-fraction-text 12 7)
-\times 2/3 { c4. c4. c4. c4. }
-\once \override TupletNumber #'text =
-  #(tuplet-number::append-note-wrapper
-    (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
-\times 2/3 { c4. c4. c4. c4. }
-
-\once \override TupletNumber #'text =
-  #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
-\times 2/3 { c8 c8 c8 c8 c8 c8 }
-\once \override TupletNumber #'text =
-  #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
-\times 2/3 { c8 c8 c8 c8 c8 c8 }
-
-\once \override TupletNumber #'text =
-  #(tuplet-number::fraction-with-notes "4." "8")
-\times 2/3 { c4. c4. c4. c4. }
-\once \override TupletNumber #'text =
-  #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
-\times 2/3  { c4. c4. c4. c4. }
+To suppress the line on a crescendo text spanner (and other similar spanners),
+LilyPond now fully supports the @code{#'style = #'none} property.
+@lilypond[fragment,quote,relative=2]
+\override DynamicTextSpanner #'style = #'none
+c4\cresc c c g, c'\p
 @end lilypond
 
 @item
-FretBoards now have a chordChanges property to keep repeated FretBoard objects
-from being typeset.
+LilyPond.app now supports MacOS X 10.7, thanks Christian Hitz!
 
 @item
-The vertical spacing engine has been drastically changed, making
-it more flexible and easier to control.
-The spacing between staves within a system can now change
-to better use the space on the page.
-User-defined contexts may participate in this flexible spacing,
-depending on how their @code{staff-affinity} is defined.
-Some page formatting variables (@code{page-top-space},
-@code{between-system-space -padding}, and
-@code{before- between- after-title-space}) have been replaced
-by flexible vertical dimensions.
+Glissandi can now span multiple lines.
 
 @end itemize
 
-
-
 @ifhtml
 For older news, go to
+@uref{http://lilypond.org/doc/v2.14/Documentation/changes/},
 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
-@uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS.html},
 or @uref{../,go back} to the Documentation index.