@itemize @bullet
+@item The syntax for setting properties has been simplified:
+the following table lists the differences:
+
+@example
+\property A.B = #C \set A.B = #C
+\property A.B \unset \unset A.B
+\property A.B \set #C = #D \override A.B #C = #D
+\property A.B \override #C = #D (removed)
+\property A.B \revert #C \revert A.B #C
+@end example
+
+Furthermore, if @code{A} is left out, the bottommost context is used
+by default. In other words, it is no longer necessary to explicitly
+mention @code{Voice}, @code{Lyrics} or @code{ChordNames}.
+
+Old:
+
+@example
+ \property Voice.autoBeaming = ##f
+ \property Staff.TimeSignature \set #'style = #'C
+@end example
+
+New:
+
+@example
+ \set autoBeaming = ##f
+ \override Staff.TimeSignature #'style = #'C
+@end example
+
+
+@item Tweaks made with @code{\override} and @code{\revert} no longer
+hide tweaks at higher context levels.
+
+@item Melismata in lyrics are also properly handled in the MIDI output.
+
+@item The lilypond-book script has been rewritten.
+It is shorter, cleaner and faster. The special construct
+@code{mbinclude} has been removed, plain @code{@@include} or
+@code{\\input} can be used now.
+
+@ignore
+It now supports
+running convert-ly on the lilypond snippets like so:
+@example
+ lilypond-book --filter='convert-ly --from=2.0.0' my-book.tely
+@end example
+@end ignore
+
+@item The @code{LyricsVoice} context has been removed. Lyrics should only
+be constructed in @code{Lyrics}.
+
+@item The @code{Thread} context has been removed. Note heads and rests
+are now constructed at @code{Voice} level.
+
+@item Harmonic notes can now be entered as
+
+@example
+ <c' g''\harmonic>
+@end example
+
+@item Drum notation is now supported as a regular feature:
+percussion may be entered in @code{\drums} mode, and printed or
+performed in a @code{DrumStaff} context:
+
+@example
+ \score @{
+ \drums \new DrumStaff @{ hihat4 cowbell8 @}
+ @}
+@end example
+
+@item The automatic staff changer was internally rewritten. As a
+result, the syntax has been simplified as well:
+
+@example
+ \autochange @var{the music}
+@end example
+
+@item The ergonomic syntax of @code{\markup} now has an equivalent in
+Scheme. The @code{markup*} macro creates such objects; the following
+two markup commands are equivalent:
+@example
+ f4^#(markup* #:raise 0.2 #:bold "hi")
+ f4^\markup @{ \raise #0.2 \bold hi @}
+@end example
+
+@item Voice names, for vocal lines, have been added. They are similar
+to instrument names. They can be set by defining @code{vocalName}
+and @code{vocNam}.
+
@item Safe mode has been reinstated for lilypond.
-When lilypond is invoked with @{--safe-mode}, @TeX{} and PostScript
-file output is disallowed, and lilypond-bin is invoked with
+When lilypond is invoked with @code{--safe-mode}, @TeX{} and
+PostScript file output is disallowed, and lilypond-bin is invoked with
@code{--safe-mode}, the user's Guile expressions are evaluated in a
safe environment and file inclusion is not allowed.
-Be warned that a DOS attack using Guile, @TeX{} or PostScript is
-rather easy.
+Warning: this does not protect against denial-of-service attacks using
+Guile, @TeX{} or PostScript.
(This feature is still experimental.)
@item A more cleanly constructed part combiner has been installed.
It is more robust and less buggy. The part-combiner can be used with
@example
- \newpartcombine @var{mus1} @var{mus2}
+ \partcombine @var{mus1} @var{mus2}
@end example
@noindent
See @file{input/regression/new-part-combine.ly} for an example.
-(This feature is still experimental.)
-
@item Formatting of rehearsal marks has been improved. The @code{\mark}
command now only does automatic incrementing for marks specified as
integer. For example, @code{\mark #1} will print an A in the default
limitations in using smaller fonts (eg. grace notes) at small staff
sizes.
-@item The appearance of stem tips is now also engraved with rounded corners.
+@item Stem tips are now also engraved with rounded corners.
@item
The placement of accidentals on chords and ledgered notes is improved.