]> git.donarmstrong.com Git - lilypond.git/blobdiff - NEWS.txt
use autoreconf to rebuild the configuration scripts
[lilypond.git] / NEWS.txt
index 64fcff492d4d7d3a8e6590d501f4a474e2efaab1..a0cefcd144f8ca4e2c64e3f92b3e43aa99bed69d 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
-New features in 2.14 since 2.12
+New features in 2.18 since 2.16
 *******************************
 
-   * Lilypond now helps beams avoid collisions with other grobs!  This
-     feature works completely with manual beams.  It also works for all
-     automatic beams that do not end right before a change in staff.
-     For this special case, please use manual beams.
+   * The PostScript functionality of stroke adjustment is no longer
+     applied automatically but left to the discretion of the PostScript
+     device (by default, Ghostscript uses it for resolutions up to
+     150dpi when generating raster images).  When it is enabled, a more
+     complex drawing algorithm designed to benefit from stroke
+     adjustment is employed mostly for stems and bar lines.
 
-   * The Articulate script by Peter Chubb, which is GPLv3 licensed, is
-     now a part of the distribution.  It allows easy generation of
-     improved MIDI files that perform non-legato by default, legato
-     slurs, staccato, tempo markings, trills, etc.
+     Stroke adjustment can be forced by specifying the command line
+     option `-dstrokeadjust' to LilyPond.  When generating `PDF' files,
+     this will usually result in markedly better looking `PDF' previews
+     but significantly larger file size.  Print quality at high
+     resolutions will be unaffected.
 
-          \include "articulate.ly"
-          \articulate <<
-                all the rest of the score...
-          >>
-
-   * Single beat repeats for sixteenth or shorter notes and beat
-     repeats for measures containing notes of varying durations are now
-     supported.
-
-     [image of music]
-
-   * Lilypond now engraves woodwind fingering charts.
-
-     [image of music]
-
-   * MIDI output has been improved
-        * the option `\set Score.midiChannelMapping = #'voice' puts
-          each voice on its own midi MIDI channel
-
-        * the option `\set Score.midiChannelMapping = #'instrument'
-          puts identical instruments on the same MIDI channel.  This
-          means that e.g. for a full orchestral score there are always
-          16 (15 plus percussion) differently sounding instruments
-          available, unrestricted by the number of staves or voices.
-          (Some MIDI players will cut off notes, however, if two voices
-          play the same pitch simultaneously on the same channel.) This
-          option also stores each voice in a separate track in the MIDI
-          file.
-
-        * the default, `\set Score.midiChannelMapping = #'staff',
-          assigns one MIDI channel per staff.  This setting allows
-          instrument changes (implemented as MIDI program changes) to
-          re-use single MIDI channel.
-
-        * dynamics are now rendered as note velocities, no longer as
-          midi volume.  This improves the sound on [high end] midi
-          renderers.
-
-   * MIDI-import through Midi2ly is improved
-        * Midi2ly now also works on Windows systems
-
-        * MIDI-files with more than 32 tracks are now handled
-
-        * notes on certain simultaneous voices no longer ignored
-
-        * notes overrunning a bar line are no longer truncated
-
-        * initial key signature and time signature are respected
-
-        * a problem with octaves in subsequent tracks/voices is fixed
-
-        * initial support for multiple voices notated on one staff
-
-        * the instrumentName is set from track data
-
-        * new -skip option, rests are displayed by default
-
-        * rests overrunning a bar line are not truncated
-
-        * new -include-header option for setting titles
-
-        * new -preview option for big MIDI-files
-     The first feature was sponsored by Valentin Villenave, the other
-     features were sponsored by Image-Line Software for FL Studio.
+   * There is now a new context type called `NullVoice' which, while not
+     appearing in the printed output, can be used to align lyrics.
+     This can be particularly convenient when used in parallel with a
+     `\partcombine' construct.
 
-   * A new `Completion_rest_engraver' is available for automatically
-     converting long rests which overrun bar lines, matching the
-     `Completion_heads_engraver' for notes
-          \layout {
-            \context {
-              \Voice
-              \remove "Note_heads_engraver"
-              \consists "Completion_heads_engraver"
-              \remove "Rest_engraver"
-              \consists "Completion_rest_engraver"
-            }
-          }
-     This feature was sponsored by Image-Line Software for FL Studio.
+          soprano = \relative c' { c e g c }
+          alto = \relative c' { a c e g }
+          verse = \lyricmode { This is my song }
 
-   * Dots can be added to the table of contents items using:
-          \paper {
-            tocItemMarkup = \tocItemWithDotsMarkup
+          \score {
+            \new Staff <<
+              \partcombine \soprano \alto
+              \new NullVoice = "aligner" \soprano
+              \new Lyrics \lyricsto "aligner" \verse
+            >>
+            \layout {}
           }
+           [image of music]
 
-   * New markup commands `\pattern' and `\fill-with-pattern' are
-     available.  [image of music]
-
-   * A minimal composer toolkit of modal transformations is provided.
-     A motif may be transposed, inverted and/or converted to its
-     retrograde within any scale.
-
-     [image of music]
-
-   * Added minimal support for black mensural notation.
-
-   * Enhanced support for obliqua shapes within white mensural
-     ligatures.
-
-     [image of music]
-
-   * New markup functions `\with-link' and `\page-link' that add
-     hyperlinks to a given label or a given page number. This works in
-     the PDF backend only. All entries to the table of contents now
-     automatically add hyperlinks to the pages they are referring to.
-
-   * Compound time signatures are now supported by the `\compoundMeter'
-     command, which can be used instead of `\time':
-
-     [image of music]
-
-   * Lyrics above a staff must have their `staff-affinity' set to
-     `DOWN' or must have their `alignAboveContext' property set in
-     order to be properly aligned.  For more information, see *note
-     Placing lyrics vertically: (lilypond-notation)Placing lyrics
-     vertically.
-
-   * `stringTunings' property values have changed from a list of
-     semitones above middle C to a list of LilyPond pitch values.
-     convert-ly will handle the change automatically where the value of
-     `stringTunings' is set to a Scheme constant value.
-
-     New commands `makeStringTuning' and `contextStringTuning' allow
-     the creation of string tunings in the form of a Lilypond chord
-     construct.
-
-   * By using `\cueDuringWithClef', cue notes can now also have their
-     own clef, which is correctly reset at the end of the cue notes.
-     At the begin of each line, the standard clef is still displayed,
-     but the cue clef is shown after the time/key signature in smaller
-     size.
-
-     [image of music]
-
-   * Note names can be selected with a new `\language "italiano"'
-     command, which can be used in safe mode.  The old `\include
-     "italiano.ly"' syntax is still supported for now, but will be
-     deprecated in the future.
-
-   * autobeaming is now disabled by `\cadenzaOn' and enabled by
-     `\cadenzaOff'.  Beaming in cadenzas should be indicated manually.
-     Also, if a cadenza is used in a piece with autobeaming disabled, it
-     will need to be disabled again after the cadenza.
-
-   * The user is now able to specify the name of the predefined
-     fretboard table.  This allows the use of multiple tables, with
-     switching between them based on user input.
-
-   * The part-combiner's decision to combine/not combine notes can now
-     be customized
-
-          [image of music]
-
-
-   * Tablature staves show fret numbers only by default. To get the
-     former style, `\tabFullNotation' is provided.
-
-   * Funk-style and Walker-style shape notes have been added.
-
-   * Rests will no longer keep a staff alive if
-     `\RemoveEmptyStaffContext' is used.
-
-   * New option `-dinclude-settings=INCLUDEFILE.ly', which causes
-     lilypond to include the given file before the score is processed.
-     This allows the user to change global settings without the need to
-     change the score itself.  That way, several different
-     editions/version (e.g. different page sizes) can be generated from
-     a file without having to modify the score for each version.
-
-   * The autobeaming settings syntax has been changed.  beatLength,
-     beatGrouping, beamSettings, and measureGrouping have all been
-     eliminated.  Autobeaming is now controlled by baseMoment,
-     beatStructure, and beamExceptions.  Default settings for each of
-     these properties can be stored for any time signature in
-     time-signature-settings, so that when the time signature is
-     changed, the autobeaming will automatically change.  The new
-     syntax should be much easier and require fewer overrides.
-
-   * The SVG backend has optional support for WOFF fonts
-     (http://www.w3.org/Submission/WOFF).  Using the Scheme option `-d
-     svg-woff' together with the SVG backend selection `-d
-     backend=svg', produces SVG output with CSS WOFF font selection.
-
-   * The LilyPond G clef has been rotated 1.5 degrees clockwise for
-     improved balance.  The old and new versions can be compared by
-     looking at the documentation: old version
-     (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs),
-     new version
-     (http://lilypond.org/doc/v2.14/Documentation/notation/the-feta-font.html#Clef-glyphs).
-
-   * Text crescendo spanners can now be added directly using `\cresc',
-     `\dim' and `\decresc'.
 
-          [image of music]
+   * Several articulations can be put into a single variable or
+     returned from an event function:
 
+          sempreStacc = -. ^\markup \italic sempre
+          \relative { c''4\sempreStacc c c c }
+           [image of music]
 
-   * The documented syntax of `lilypond' environments in the LaTeX mode
-     of `lilypond-book' has been changed to conform with standard LaTeX
-     syntax: options now come after the environment name:
-          \begin{lilypond}[OPTIONS] ...
 
-     The previous syntax with options after `\begin' is still accepted
-     by `lilypond-book' but deprecated.  Something like
-          sed -i '/begin\[/s/begin\(\[[^]]*]\)\({lilypond}\)/begin\2\1/'
+   * The baseline of score markups is now taken from the reference
+     point (usually the middle of the staff) of the first bottom system
+     rather than the top of the bounding rectangle.  The following
 
-     might do the trick for conversion.
+          \markup {
+            violin: \score { \new Staff { <g d' a' e''>1 }
+                             \layout { indent=0 } } ,
+            cello: \score { \new Staff { \clef "bass" <c, g, d a> }
+                            \layout { indent=0 } }
+          }
+           [image of music]
 
-   * Aesthetics of shape note heads have been enhanced.  Variable line
-     thicknesses have been implemented.  All note widths have been made
-     consistent.  Minor shape note commands that use the relative major
-     key for scale steps have been added.
 
-   * A variant of the Segno sign is provided:
+     previously looked like
 
           [image of music]
 
 
-   * Context modifications (`\with' blocks) can be stored in variables
-     and inserted into contexts or other `\with' blocks:
-
-          coloredheads = \with { \override NoteHead #'color = #red }
-          noclef = \with { \remove "Clef_engraver" }
-          \score {
-            \new Staff {
-              \new Voice \with { \coloredheads } \relative c' { c4 e g c }
+     without a reliable way to get both scores to line up.
+
+   * LilyPond no longer automatically infers a `\defaultchild' context
+     in a context definition with `\accepts' clauses.  Any context
+     definition without an explicit or inherited `\defaultchild'
+     definition counts as a `Bottom' context and will be eligible for
+     rhythmic events and overrides without causing the implicit
+     creation of other contexts.  Be sure to specify a `\defaultchild'
+     for non-`Bottom' contexts when defining them from scratch.
+
+   * There is now extensive support for both discant and bass accordion
+     register symbols in the `scm accreg' module, see *note Accordion
+     Registers: (lilypond-notation)Accordion Registers.
+
+          #(use-modules (scm accreg))
+          \new PianoStaff
+          <<
+            \new Staff \relative
+            { \clef "treble"  \discant "10"
+              r8 s32 f'[ bes f] s e[ a e] s d[ g d] s16 e32[ a]
+              \discant "121"
+              << { r16 <f bes> r <e a> r <d g> } \\
+                 { d r a r bes r } >> |
+              <cis e a>1
             }
-            \layout {
-              \context {
-                \Staff
-                \noclef
-              }
+            \new Staff \relative
+            { \clef "treble"  \freeBass "1"
+              r8 d'32 s16. c32 s16. bes32 s16. a32[ cis] s16
+              \clef "bass"  \stdBass "Master"
+              << { r16 <f, bes d>^"b" r <e a c>^"am" r <d g bes>^"gm" |
+                   <e a cis>1^"a" } \\
+                 { d8_"D" c_"C" bes_"B" | a1_"A" }
+              >>
             }
-          }
+          >>
            [image of music]
 
 
-   * A half-open articulation was added:
+   * New commands `markLengthOn' and `markLengthOff' control the
+     allowance of horizontal space for tempo and rehearsal marks.
 
           [image of music]
 
 
-     This is sometimes used to indicate half-open hi-hats.
+   * Rehearsal marks at the beginning of a line are now placed to the
+     right of the clef and key signature by default.  As in previous
+     versions, the `break-alignable-interface' controls the behavior.
 
-   * The Unicode Bidirectional Algorithm is now fully supported for
-     single-line markup due to enhanced integration with Pango.
-
-   * LilyPond is now licensed under the GNU GPL v3+.
+          [image of music]
 
-   * In tablature, frets can be indicated with labels other than
-     numbers:
 
-          \new TabStaff
-          \with {
-            stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
-                               ,(ly:make-pitch 1 1 NATURAL)
-                            ,(ly:make-pitch 0 5 NATURAL)
-                            ,(ly:make-pitch 0 3 NATURAL)
-                            ,(ly:make-pitch 0 1 NATURAL)
-                            ,(ly:make-pitch -1 5 NATURAL))
-            tablatureFormat = #fret-letter-tablature-format
-          }
-          \new TabVoice {
-            \set fretLabels = #`(,(markup #:with-color red "a")
-                                 "b"
-                                 ,(markup #:italic #:smaller "c"))
-            <f d>4. <bes>8 <g e>4
-          }
+   * Decimal numbers can now be written directly in music, without a
+     hash sign.  Together with the previous change in the way object
+     properties are specified, the code to change the length of stems
+     has changed from this:
+     \override Stem #'length = #5.6
+     e' f' g' a'
+     to this:
+     \override Stem.length = 5.6
+     e' f' g' a'
+
+     One has to write a digit on both sides of the dot - values like
+     `4.' or `-.3' are not allowed.
+
+     Decimal fractions are also not accepted in `\chordmode'.
+
+   * A number of shorthands like `(', `)', `|', `[', `]', `~', `\(',
+     `\)' and others can now freely be redefined like normal commands.
+     An example would be
+
+          "\\{" = (
+          "\\}" = )
+          "(" = \melisma
+          ")" = \melismaEnd
+
+          \new Staff <<
+            \relative c' {
+              c8 \{ d e f \} % slurred
+              g ( a b c ) % no slur, but with melisma
+              c,1 \bar "|."
+             }
+             \addlyrics { Li -- ly -- pond. }
+          >>
            [image of music]
 
 
-   * Layout objects can be printed over a white background, which
-     whites-out objects in lower layers which lie beneath:
+   * The articulation shorthand for `\staccatissimo' has been renamed
+     from `-|' to `-!'.
 
-          \time 3/4
-          \override Staff.StaffSymbol #'layer = #4
-          \once \override Tie #'layer = #2
-          b'2.~
-          \once \override Staff.TimeSignature #'whiteout = ##t
-          \once \override Staff.TimeSignature #'layer = #3
-          \time 5/4
-          b4
-           [image of music]
+   * Tempo change ranges are now written as `\tempo 4 = 60 - 68' rather
+     than `\tempo 4 = 60 ~ 68'.
 
+   * Grob `OctavateEight' was renamed to `ClefModifier'.  Related
+     context properties were renamed from `xxxOctavationyyy' to
+     `xxxTranspositionyyy'.
 
-   * Chords can be repeated using the `q' shortcut:
+   * There is a new `\absolute' command explicitly marking music as
+     being entered in absolute pitch.  While this has been the default
+     previously, an explicit `\absolute' also prevents reinterpretation
+     when the passage is placed inside of `\relative':
 
-          <c e g>8.-^ q16 q4-^
+          \relative c { c'4 \absolute { f'' g'' } c }
            [image of music]
 
 
-   * With two-sided mode, margins for odd and even pages can be set
-     using `inner-margin' and `outer-margin':
-
-     \paper {
-       two-sided = ##t
-       inner-margin = 10 \mm
-       outer-margin = 20 \mm
-     }
+   * When `\relative' is used without an explicit reference pitch, the
+     reference pitch now is the middle of the first octave, making the
+     first entered pitch indistinguishable from absolute pitch.
+     Previously, omitting the reference pitch would have lead to a
+     default of `c''.  Since that choice was somewhat arbitrary,
+     recommended usage was to always specify the reference pitch.
 
-   * Paper margin defaults, as specified in
-     `ly/paper-defaults-init.ly', apply to the default paper size (a4)
-     and are automatically scaled according to the paper size chosen.
+   * A new command `\single' can be used for converting a property
+     override into a tweak to be applied on a single music expression:
 
-   * All combinations of `left-margin', `right-margin' and `line-width'
-     work now.  There is no more need to set `line-width' manually
-     unless you explicitly want to.
+          <a \single\voiceTwoStyle e' a>1
+           [image of music]
 
-   * Support for using an alternative music font, such as Gonville, is
-     now added.
 
-   * In addition to the existing `\hspace' markup command, a new
-     `\vspace' command has been added to provide an easy and flexible
-     way to add vertical space in markups.
+   * Two ways of letting graphical objects not appear in the output are
+     overriding its `transparent' property with `#t' (retaining the
+     original spacing) or overriding its `stencil' property with `#f'
+     (not using any space at all).  Those two operations now have the
+     shorthands `\hide' and `\omit', respectively.  They can either be
+     given a music expression to tweak, or the name of a graphical
+     object for which an override should be created (for specifying
+     both, use `\single' on the override form):
 
-   * The direction of manual beams can be set with `^[' and `_['.
+          \new Staff \with { \omit Clef }
+          \relative c'' <a e' \hide a>1
+           [image of music]
 
-   * A version of the breve note head has been added with two vertical
-     lines on each side.
 
-          [image of music]
+   * A new command `\temporary' can be applied to overrides in order to
+     not have them replace previous property settings.  If a `\revert'
+     is applied to the same property subsequently, the previous setting
+     reappears:
 
+          \override NoteHead.color = #red c4
+          \override NoteHead.color = #green d
+          \revert NoteHead.color e2
+          \override NoteHead.color = #red c4
+          \temporary\override NoteHead.color = #green d
+          \revert NoteHead.color e
+          \revert NoteHead.color c
+           [image of music]
 
-   * Instrument names and vocal names now take into account the extent
-     of system start delimiters in other staves for their positioning,
-     resulting in improved default alignment for left-, center- and
-     right-aligned names.
 
-          [image of music]
+     This is mainly useful for writing music functions that need to
+     have some property changed just for the duration of the function.
+
+   * `\tag', `\removeWithTag', and `\keepWithTag' can now accept a list
+     of symbols rather than just a single symbol for marking, removing,
+     and keeping music with any of multiple tags.  This is particularly
+     important for `\keepWithTag' since one cannot achieve the same
+     effect by using multiple consecutive `\keepWithTag' commands.
+
+   * The `-d old-relative' option has been removed.  Not actually
+     accessible from the command line any more, its remaining use was
+     for interpretating `\relative' in LilyPond files converted
+     automatically from version 1.8 or older.  It is unclear how much
+     of this was actually still operative.
+
+   * The meaning of `instrumentTransposition' has been reversed.  After
+     \set instrumentTransposition = #{ b #}
+     a written `c'' now sounds like `b'.  Previously, this would have
+     been the other way round.  This and the following change should
+     make dealing with transposing instruments more straightforward.
+
+   * The music generated by `\set' and `\override' commands is no
+     longer affected by `\transpose'.  The main consequence is that
+     `\transpose' will transpose audible/concert pitch and printed
+     pitch by the same amount even when the transposed music contains
+     `\transposition'.  Previously,
+     \transpose c' f' \transposition bes'
+     was equivalent to `\transposition f''.  Now it stays equivalent to
+     `\transposition bes''.
+
+   * When checking for collisions, LilyPond no longer treats objects as
+     rectangles.  Instead, the actual shape of objects is approximated
+     using an integral-like approach.  This generally results in more
+     even and snug positioning of objects and systems:
 
+     [image of music]
 
-   * Braces in markup can now be selected by point size using the
-     markup commands `\left-brace' and `\right-brace'.
+     Previously, the above snippet looked like this:
 
-          [image of music]
+     [image of music]
 
+     Affected objects include `Accidentals', `Beams', `Clefs',
+     `Dynamics', `FiguredBass', `Flags', `Glissandos', `Lyrics',
+     `MetronomeMarks', `OttavaBrackets', `Pedals', `RehearsalMarks',
+     `Rests', `Scripts', `TextScripts', `Ties', `Tuplets' and
+     `VoltaBrackets'.
 
-   * Intermediate .ps files which are created by LilyPond during
-     compilation are now deleted by default.  To keep them, add the
-     following line to your input files:
-     #(ly:set-option 'delete-intermediate-files #f)
+   * Tuplets are now created with the `\tuplet' command, which takes a
+     fraction `T/N' to specify that T notes are played in the time
+     usually allowed for N. One `\tuplet' command can create several
+     tuplet groups if their duration is typed after the fraction.
 
-   * Dashed and dotted slurs, phrasing slurs, and ties have been made
-     variable thickness, and partially dashed slurs are now available:
+          \tuplet 3/2 { c8 d e } \tuplet 3/2 { f e d } c2
+          \tuplet 3/2 4 { c8 d e f e d } c2
+           [image of music]
 
-          [image of music]
 
+     The `\times' command with its inverted fraction order `N/T' is
+     still available.
+
+   * Introducing two new markup-commands; `\draw-dashed-line' and
+     `\draw-dotted-line'.
+
+     The dashed-line extends to the whole length given by DEST, if
+     `full-length' is set to `#t' (this is the default) without any
+     space at the beginning or end.  `off' will then be altered to fit.
+     To insist on the given (or default) values of `on', `off' use
+     `\override #'(full-length . #f)'.  Manual settings for `on', `off'
+     and `phase' are possible.
+
+     The dotted-line always extends to the whole length given by DEST,
+     without any space at the beginning or end.  Manual settings for
+     `off' are possible to get larger or smaller space between the dots.
+     The given (or default) value of `off' will be altered to fit the
+     line-length.
+
+          \markup {
+            \draw-dashed-line #'(5.1 . 2.3)
+            \override #'(on . 0.3)
+            \override #'(off . 0.5)
+            \draw-dashed-line #'(5.1 . 2.3)
+            \draw-dotted-line #'(5.1 . 2.3)
+            \override #'(thickness . 2)
+            \override #'(off . 0.2)
+            \draw-dotted-line #'(5.1 . 2.3)
+          }
+           [image of music]
 
-   * An eyeglasses markup was added, indicating strongly to look at the
-     conductor for instructions:
 
-          [image of music]
+   * Starting with version 2.17.10, error messages or the `textedit'
+     URI used for point-and-click functionality specify column numbers
+     starting with 1 rather than 0.  The byte offset (also part of
+     `textedit' URIs) still starts at 0.
 
+   * The `\clef' command supports optional transposition:
 
-   * A snap-pizzicato (also known as Bartok-pizzicato) articulation was
-     added:
-
-          [image of music]
+          \clef "treble_(8)"
+          c2 c
+          \clef "bass^[15]"
+          c2 c
+           [image of music]
 
 
-   * Tuplet number formatting functions are now available to print
-     other fractions and to add notes to the number or fraction:
+   * The LilyPond syntax of dot-separated words `Voice.Accidental' has
+     been made interchangeable with `#'(Voice Accidental)', a Scheme
+     list of symbols.  As one result, code like
+     \override Voice.TextSpanner #'(bound-details left text) = "rit."
+     is now equivalent to
+     \override Voice.TextSpanner bound-details.left.text = "rit."
+     or even
+     \override #'(Voice TextSpanner) bound-details.left.text = "rit."
+
+   * Grob and grob property path no longer need to be specified as two
+     separate arguments to commands like `\override' and `\revert',
+     allowing for the syntax
+     \override Voice.TextSpanner.bound-details.left.text = "rit."
+     Since complementary music functions like `\overrideProperty'
+     cannot support forms with and without separating space at the same
+     time, using a single dotted path is now the preferred form.
+     Specifying grob path and grob property path separately, currently
+     still supported with `\override' and `\revert' for compatibility
+     reasons, is deprecated.
+
+   * Due to words now being accepted as symbol function arguments, the
+     interfaces of `\accidentalStyle', `\alterBroken', `\footnote' and
+     `\tweak' had to be redesigned where optional symbol arguments were
+     involved.  Please check the respective music function
+     documentation for details.
+
+   * Several commands now accept symbol lists (conveniently entered as
+     dot-separated words) for various kinds of arguments.  These
+     include `\accidentalStyle', `\alterBroken', `\footnote', `\hide',
+     `\omit', `\overrideProperty', `\shape', and `\tweak'.
+
+   * The bar line user interface has changed. Bar glyphs now resemble
+     the appearance of the bar line, so a left repeat sign has to be
+     coded as `.|:'. The command `\defineBarLine' provides an easy way
+     to define additional bar line styles.
+
+   * Accidentals in the key signature may be printed in octaves other
+     than their traditional positions, or in multiple octaves.
 
           [image of music]
 
 
-   * FretBoards now have a chordChanges property to keep repeated
-     FretBoard objects from being typeset.
-
-   * The vertical spacing engine has been drastically changed, making
-     it more flexible and easier to control.  The spacing between
-     staves within a system can now change to better use the space on
-     the page.  User-defined contexts may participate in this flexible
-     spacing, depending on how their `staff-affinity' is defined.  Some
-     page formatting variables (`page-top-space', `between-system-space
-     -padding', and `before- between- after-title-space') have been
-     replaced by flexible vertical dimensions.
-
 
 
 \1f