* only show user-visible changes.
@end ignore
+@item
+Support for Kievan square notation:
+@lilypond[quote,relative=1,verbatim]
+\new KievanVoice {
+ \cadenzaOn
+ c d e f g a bes
+ \bar "kievan"
+}
+@end lilypond
+
+@item
+Augmentation dots now avoid the other voice in two-voice polyphony
+so that users can move the @code{Dot_column_engraver} to set dots
+independently for each @code{Voice}.
+@lilypond[quote]
+\layout {
+ \context {
+ \Staff
+ \remove Dot_column_engraver
+ } \context {
+ \Voice
+ \consists Dot_column_engraver
+ }
+}
+\relative c'' <<
+ { \time 6/8
+ <d f g>4. <d f g> <f, g> b
+ } \\ {
+ <f g b>4. <g b d> <b d> <e, g>
+ } >>
+@end lilypond
+
+@item
+A Scheme function to adjust the control points of curves such as slurs
+and ties, developed by several users, is now included in LilyPond.
+@lilypond[quote,verbatim,relative=2]
+g8->( bes,-.) d4
+\shape Slur #'((-0.5 . 1.5) (-3 . 0) (0 . 0) (0 . 0))
+g8->( bes,!-.) d4
+@end lilypond
@item
Use of @code{\tempo} specifications in @code{\midi} blocks (removed in
2.9.16 in favor of explicit @code{tempoWholesPerMinute} settings) has
seen a revival: now any kind of property-setting music is turned into
-context definitions within of output specifications, allowing for
+context definitions within output specifications, allowing for
declarations like
@example
\layout @{ \accidentalStyle modern @}
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.
+unconditionally in Lilypond code for immediate evaluation of Scheme
+expressions, 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. There are also @q{splicing} operators @code{$@@}
+and @code{#@@} for interpreting the members of a list individually.
@item
Support for jazz-like chords has been improved: Lydian and altered