@node Top, , ,
@top
-@unnumbered New features in 2.3 since 2.2
+@unnumbered New features in 2.4 since 2.2
@itemize @bullet
+@item Parts that use @code{\quote} can now be transposed.
+
+@item LilyPond does not try to produce output for files that
+have a parse error.
+
+@item @code{lilypond-book} will now remove any output files that
+contain failed music snippets.
+
+@item The mode changing commands (@code{\chords}, @code{\lyrics}, etc.)
+have been renamed to @code{\chordmode}, @code{\lyricmode}, etc. The
+command @code{\chords} is an abbreviation for
+
+@example
+ \new ChordNames \chordmode ...
+@end example
+
+@noindent
+@code{\drums}, @code{\lyrics}, @code{\chords}, @code{\figures}
+function similarly.
+
+@item The types of events quoted with @code{\quote} can now be tuned
+with @code{quotedEventTypes}. By default, only notes and rests end up
+in quotes.
+
+@item LilyPond will try to keep
+staves at the same distances across a page, but it will stretch
+distances to prevent collisions. This results in a more even
+appearance of the page.
+
+@item Key signature cancellations are now printed before the bar line,
+and their appearance has been improved.
+
+@item Different voices that all use @code{\quote} can now refer to
+each other.
+
+
+@item The automatic staff changer, which is invoked with
+@code{\autochange}, now creates the @code{up} and @code{down} staff
+automatically, and uses bass clef for the bottom staff.
+
@item There is now support for putting two slurs on chords, both above
and below. This is switched on with the @code{doubleSlurs} property.
melody by setting the @code{associatedVoice} property.
@item The @code{\lyricsto} keyword now automatically switches on
-@code{\lyrics} mode.
+lyrics mode.
@item The LilyPond binary now supports output options
@code{--dvi} @code{--png} @code{--ps} @code{--pdf} and
@}
@end example
-@item A new block, @code{\bookpaper} has been introduced to
-hold settings for paper size and output scaling. Further options
-include @code{raggedbottom} (if set, systems are not vertically filled
-to reach the bottom of the page), and @code{raggedlastbottom}.
-
+@item
+The @code{\paper} block has been renamed to @code{\layout}. A new
+@code{\paper} block has been introduced to hold settings for paper
+size and output scaling. Further options include @code{raggedbottom}
+(if set, systems are not vertically filled to reach the bottom of the
+page), and @code{raggedlastbottom}.
@item Support for fret diagrams has been contributed by Carl
@item A music list at toplevel is interpreted as implicit @code{\score}
a @code{\score} block at toplevel is interpreted as an implicit
-@code{\book} and @code{\notes} mode is the default lexer mode. The
+@code{\book} and @code{\notemode} mode is the default lexer mode. The
result is that
@example
\header @{ title = "The Title" @}
\book @{
\score @{
- \notes @{ a b c @}
+ \notemode @{ a b c @}
@}
@}
@end example
@code{toplevel-book-handler}. By changing these variables, different
results can be obtained.
-This required a small change in the syntax. Mode changing commands,
-such as @code{\chords} and @code{\figures} now be directly followed by
-delimeters. The following example demonstrates the new behavior,
+@item Mode changing commands,
+such as @code{\chordmode} and @code{\figuremode} must now be directly
+followed by delimiters. The following example demonstrates the new
+behavior,
@verbatim
- \figures \context Figures { .. } % wrong
- \context Figures \figures { .. } % right
+ \figuremode \context Figures { .. } % wrong
+ \context Figures \figuremode { .. } % right
@end verbatim
-@item Start pitch for @code{relative} music is optional for music lists.
+@item The starting pitch for @code{relative} music is optional for music lists.
The default value is middle C.
-@c update-me? formal definition of newaddlyrics, once it works
-@item Combining lyrics with music can be done with @code{\newlyrics}
+@item Combining lyrics with music can be done with @code{\addlyrics}
@example
\relative @{
\clef bass
d2 d c4 bes a2 \break
@}
- \newlyrics @{
+ \addlyrics @{
My first Li -- ly song,
@}
- \newlyrics @{
+ \addlyrics @{
Not much can go wrong!
@}
@end example
-Syntactically, @code{\newlyrics} acts like an infix operator.
+Syntactically, @code{\addlyrics} is an infix operator. It is a
+shortcut for a combination of @code{\new Lyrics}, @code{\lyricmode}
+and @code{\lyricsto}.
@item The parser is encapsulated in a Scheme function
@code{ly:parse-file}, so the following fragment processes two files
@}
@end example
-Titling and page breaks are handled by LilyPond. For automatic page
-breaking, two algorithms are available, the classic ragged pages (the
-default), and optimal page breaking.
-Page breaks may be inserted manually with
+
+@item
+Titling and page breaks are handled by LilyPond. Page breaks may be
+inserted manually with
+
@example
\pageBreak
@end example
@item
-The @code{lilypond} program does not generate La@TeX{} titles or page
-layout. If you need La@TeX{} titles, you can use the
-@code{lilypond-book} program.
+Invoking @code{lilypond} runs the actual binary, which not use
+La@TeX{} for titling or page layout. If you need La@TeX{} code in
+titles, you can use the @code{lilypond-book} program. The former
+@code{lilypond} script has been retained as @code{lilypond-latex}.
@item There is now less of a noticeable ``hook'' at the end of a long slur.
@end itemize
+
+
+@c ****************************************************************
+
@unnumbered New features in 2.2 since 2.0
@itemize @bullet