+@code{\bookpart} blocks may be used to split a book into several parts,
+separated by a page break, in order to ease the page breaking, or to use
+different @code{\paper} settings in different parts.
+
+@example
+\bookpart @{
+ \header @{
+ title = "Book title"
+ subtitle = "First part"
+ @}
+ \score @{ @dots{} @}
+ @dots{}
+@}
+\bookpart @{
+ \header @{
+ subtitle = "Second part"
+ @}
+ \score @{ @dots{} @}
+ @dots{}
+@}
+@end example
+
+@item
+Nested contexts of the same type are now allowed.
+This deprecates @code{InnerStaffGroup} and @code{InnerChoirStaff}.
+@lilypond[relative=1]
+\new StaffGroup <<
+ \new Staff { c1 }
+ \new StaffGroup <<
+ \new Staff { c1 }
+ \new Staff { c1 }
+ >>
+>>
+@end lilypond
+
+@item
+Percent repeat counters can be shown at regular intervals using the
+context property @code{repeatCountVisibility}.
+@lilypond[relative=1]
+{
+ \set countPercentRepeats = ##t
+ \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
+ \repeat percent 8 { c4 d e f }
+}
+@end lilypond
+
+@item
+In addition to the already existing @code{showLastLength} property,
+@code{showFirstLength} can now be set as well, rendering only the first
+measures of a piece. Both properties may be set at the same time:
+@lilypond[]
+showFirstLength = R1*2
+showLastLength = R1*3
+\relative c' { c1 d e f g a b c }
+@end lilypond
+
+@item
+The file extension for MIDI can be set using the command-line
+program default @code{midi-extension}. For Windows, the default
+extension has been changed to @code{.mid}.
+
+@item
+Two variations on the default double repeat bar line are now available.
+@lilypond[]
+{
+ \set Score.doubleRepeatType = #":|.:"
+ \repeat volta 2 {
+ c'1
+ }
+ \repeat volta 2 {
+ c'1
+ }
+ \bar ":|.|:"
+ c'1
+}
+@end lilypond
+
+@item
+Four automatic accidentals rules have been added: @code{neo-modern},
+@code{neo-modern-cautionary}, @code{dodecaphonic} and @code{teaching}.
+The following example illustrates @code{neo-modern} rule.
+@lilypond[]
+notes = {
+ <<
+ \relative c' {
+ cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis2. <c, fis>4 |
+ }
+ \\
+ \relative c' {
+ ais'2 cis, |
+ fis8 b a4 cis2 |
+ }
+ >>
+}
+
+\new Staff {
+ #(set-accidental-style 'neo-modern)
+ \notes
+}
+@end lilypond
+
+@item
+Flags can now be generated with Scheme-code using the @code{'flag}
+@code{Stem} grob property. Existing scores will work without change.
+@lilypond[]
+testnotes = {
+ \autoBeamOff
+ c'8 d'16 c''8 d''16
+}
+
+#(define (inverted-flag stem-grob)
+ (let* ((dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u"))
+ (flag (retrieve-glyph-flag "" dir "" stem-grob))
+ (line-thickness (ly:staff-symbol-line-thickness stem-grob))
+ (stem-thickness (ly:grob-property stem-grob 'thickness))
+ (stem-width (* line-thickness stem-thickness))
+ (stroke-style (ly:grob-property stem-grob 'stroke-style))
+ (stencil (if (null? stroke-style) flag
+ (add-stroke-glyph flag stem-grob dir stroke-style "")))
+ (rotated-flag (ly:stencil-rotate-absolute stencil 180 0 0)))
+ (ly:stencil-translate rotated-flag (cons (- (/ stem-width 2)) 0))))
+
+#(define-public (weight-flag stem-grob)
+ (let* ((log (- (ly:grob-property stem-grob 'duration-log) 2))
+ (is-up (eqv? (ly:grob-property stem-grob 'direction) UP))
+ (yext (if is-up (cons (* log -0.8) 0) (cons 0 (* log 0.8))))
+ (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext))
+ (stroke-style (ly:grob-property stem-grob 'stroke-style))
+ (stroke-stencil (if (equal? stroke-style "grace")
+ (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4)
+ empty-stencil)))
+ (ly:stencil-add flag-stencil stroke-stencil)))
+
+{
+ \time 3/8
+ \override Stem #'flag = #weight-flag
+ \testnotes
+
+ \override Stem #'flag = #inverted-flag
+ \testnotes
+}
+@end lilypond
+
+@item
+Harp pedalling diagrams were added:
+
+@lilypond[]
+\markup { \harp-pedal #"^v-|vv-o^" }
+@end lilypond
+
+@item
+Predefined, user-configurable, transposable fret diagrams
+are now available in the @code{FretBoards} context:
+@lilypond[]
+\include "predefined-guitar-fretboards.ly"
+<<
+ \new ChordNames {
+ \chordmode {
+ c1
+ \transpose c e { c }
+ }
+ }
+ \new FretBoards {
+ \chordmode {
+ c1
+ \transpose c e { c }
+ }
+ }
+>>
+@end lilypond
+
+@item
+The following syntax changes were made, in chronological order. In
+addition, fret diagram properties have been moved to
+@code{fret-diagram-details}, and the @code{#'style} property is
+used to select solid/dashed lines instead of @code{#'dash-fraction}.
+