@node Top, , ,
@top
-@chapter New features in 1.9 since 1.8
+@chapter New features in 2.1 since 2.0
+
+@ignore
+Unreleased:
@itemize
+@end itemize
+
+Version 2.1.9
+@end ignore
+
+@itemize @bullet
+@item Formatting of ottava brackets has been much improved.
+
+@item Objects in the output can now be documented: the following fragment
+ boxes the note head, and adds the text ``heads or tails?'' three
+spaces below the box.
+
+@example
+ \context Voice \applyoutput #(add-balloon-text
+ 'NoteHead "heads, or tails?"
+ '(0 . -3))
+
+
+ c8
+@end example
+
+
+@item Default staff sizes are now scalable. There are two new mechanisms for
+setting staff sizes. Both are demonstrated in this fragment:
+
+@example
+ #(set-staff-size 15)
+ \paper @{
+ #(paper-set-staff-size (* 15 pt))
+ @}
+@end example
+
+
+@noindent
+Both have the same effect on the global layout of a
+piece. Similarly, the paper size may be changed as follows
+
+@example
+ #(set-paper-size "a4")
+@end example
+
+
+@item Warnings for bar check errors are more cleverly printed. This
+makes @code{barCheckSynchronize} superfluous, so it is now switched
+off by default.
+
+Warning: this will cause problems in scores that use bar checks to
+shorten measures.
+
+@item The black note head was made a little rounder, which causes a less
+ frantic graphic impression.
@item
-Crescendos can now be drawn dotted or stippled.
+A more concise syntax for checking octaves was introduced. A note may
+be followed by @code{=}@var{quotes} which indicates what its absolute
+octave should be. In the following example,
+
+@example
+ \relative c'' @{ c='' b=' d,='' @}
+@end example
+
+@noindent
+the @code{d} will generate a warning, because a @code{d''} is
+expected, but a @code{d'} is found.
+
+@item There is a new mechanism for putting lyrics to melodies.
+With this mechanism, @code{LyricVoice}s can be put melodies
+individually, allowing for different melismatic sections in every
+@code{LyricVoice}. See @file{input/regression/lyric-combine-new.ly}.
+
+@item Bar lines may now be dotted.
+
+
+@item The documentation now has links to a wiki, where everyone can
+add personal comments to the manual.
+
+@item Contexts may now be changed locally for an isolated music
+expression. For example,
+
+@example
+ \new Voice \with @{
+ \consists "Pitch_squash_engraver"
+ @} @{
+ c'4
+ @}
+@end example
+
+@item The syntax for changing staffs has changed. The keyword
+@code{\change} should now be used, e.g.
+
+@example
+ \change Staff = up
+@end example
+
+@item Features of spanner contexts, like @code{Staff}, can now be changed
+ using @code{\property}, eg.
+
+@example
+ \new Staff @{
+ \property Staff.StaffSymbol \set #'line-count = #4
+ c'4
+ @}
+@end example
+
+@noindent
+puts a quarter note C on a staff with 4 lines.
+
+
+@item Multi measure rests are now truly centered between the
+clefs/barlines of the staff, their position is independent of symbols
+on the other staffs.
+
+@item Collision resolution for dots in chords has been improved greatly.
+
+@item
+Spacing following barlines was improved for widely stretched lines.
+
+@item
+Lyric hyphens and extenders now conform to standard typesetting
+practice.
+
+@item
+Lyrics are now aligned under note heads conforming to engraving
+standards. The responsible code has been rewritten, and is drastically
+simpler from the previous version. To aid this rewrite, the syntactic
+function of the extender line ( __ ) has been changed: it is now
+attached to the lyric syllable.
+
+@item
+When redefining a context, the associated identifier is also
+updated. For example, after reading the following snippet,
+@example
+ \translator @{
+ \ScoreContext
+ autoBeaming = ##f
+ @}
+@end example
+the definition of @code{ScoreContext} is updated to include the changed
+setting.
+
+
+@item
+The weight of the stafflines is now heavier at smaller staff sizes.
+The font has been modified to match this look: at smaller sizes, the
+font is heavier and the note heads are more rounded.
+
+@item Processing scores is now done while parsing the file. New
+Scheme functions give more flexibility: for example, it is now possible
+interpret a score, collecting synchronized musical events in a list, and
+manipulate that information using inline Scheme. For an example, see
+@file{input/no-notation/recording.ly}.
+
+@item Font sizes can now truly be scaled continuously: the @code{font-size}
+is similar to the old @code{font-relative-size}, but may be set to
+fractional values; the closest design size will be scaled to achieve
+the desired size. As a side-effect, there are now no longer
+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
+The placement of accidentals on chords and ledgered notes is improved.
+
+@end itemize
+
+
+@chapter New features in 2.0 since 1.8
+
+@itemize
+
+@item
+Crescendos can now be drawn dotted or dashed.
@item
Quarter tones are now supported. They are entered by suffixing
@example
\markup @{ \center <@var{..list of markups..}> @}
- \figure @{ <@var{figures> @}
+ \figure @{ <@var{figures}> @}
@end example
As chords the more often used than simultaneous music, this change will
one with cue notes for the instrumental part:
@example
-< \tag #'part <
- @{ c4 f2 g @} % in the part, we have cue-notes
- \\ R1 >
+<< \tag #'part <<
+ @{ c4 f2 g4 @} % in the part, we have cue-notes
+ \\ R1 >>
\tag #'score R1 % in the score: only a rest
->
+>>
@end example
The same can be applied to articulations, texts, etc.: they are
rest to the left.
@item
-The script previously known as @file{ly2dvi} has been renamed to
-@file{lilypond}. The binary itself is now installed as
-@file{lilypond-bin}.
+The script previously known as @code{ly2dvi} has been renamed to
+@code{lilypond}. The binary itself is now installed as
+@code{lilypond-bin}.
@item
Markup text (ie. general text formatting) may now be used for lyrics too.
#(ly:set-option 'old-relative)
@end example
+@item
+Windows users can double click a @code{.ly} file to process and view
+it automagically through the new @code{lily-wins} frontend.
+
@end itemize