ChangeLog for python-ly
=======================


2020-12-25: python-ly 0.9.7

- Improvements:
  - added LilyPond 2.20 words (PR#140 by Simon Albrecht)
- Bugfixes:
  - Fixed #144 Error when making rhythm implicit per line


2020-01-22: python-ly 0.9.6

- Various improvements to the experimental MusicXML output
  - Fixed #32 Correctly export measures without the help of explicit barchecks
  - Fixed #102 MusicXML: \mark is not exported
  - Fixed #107 MusicXML: scale_rest bug
  - Fixed #110 MusicXML: stem direction is not supported
  - Fixed #114 Empty measures created with no attributes
  - Many improvements by Felippe Roza, Peter Bjuhr, Urs Liska, Endre Oma and
    others, thanks!
- Fixed Frescobaldi#1213 eps-file -> epsfile
- improved indentation of Scheme code, thanks to Paul Morris (#132)


2017-02-17: python-ly 0.9.5

- basic support for tokenizing the MUP format
- fix wbsoft/frescobaldi#832: wrong duration handling with \partial when
  changing durations
- xml export tests now work correctly with Python3
- fix #74 traversing events fails in empty \alternative


2016-04-20: python-ly 0.9.4

- support LilyPond 2.18+ behaviour on \relative without startpitch in
  the ly.pitch.transpose, ly.pitch.rel2abs and ly.pitch.abs2rel modules.
- support LilyPond 2.18+ behaviour on \relative without startpitch in the
  transpose, rel2abs, abs2rel and musicxml ly commands. Two new variables
  were added to influence the behaviour: rel-absolute and rel-startpitch.
- add Simplifier transposer and simplify-accidentals ly command (#40)
- make define-markup-command recognition working again
- recognize \bookOutputName A (without quotes, although not recommended)
- allow multi-digit fingering, e.g. c-34, LilyPond supports that since at least
  2.16.
- various updates and improvements in MusicXML export contributed by Peter Bjuhr
- added ly-server: an HTTP-server for manipulating LilyPond source, contributed
  by Urs Liska
- fix issue #56: do not add durations to bass notes in chordmode
- fix issue #59: handle \include commands correctly when exporting to MusicXML


2015-12-24: python-ly 0.9.3

- Fix issue #35: do not insert duration after a tie
- Added ly.rhythm.music_items() for a more robust way of iterating through
  chords and notes (awaiting fully fledged editing support through ly.music or
  ly.xml)
- More configurability in ly.colorize, thanks to Urs Liska
- MusicXML export various improvements and bug fixes, contributed by Peter Bjuhr


2015-05-14: python-ly 0.9.2

- add the default-language variable to the ly command; this can be set to a
  language in case a LilyPond document uses a language different than
  "nederlands" but does not specify it (issue #20).
- add the -l, --language option as shorthand for setting the default language
- properly support drum notes in ly.lex and ly.music
- updated scheme variables in ly.data.scheme* functions for LilyPond 2.18
- fix TypeError: expected string or buffer in dom.ly when string was a
  dom.Reference (issue wbsoft/frescobaldi#667)
- Fix issue #16: Duration after `\skip` may not be removed
- MusicXML export improvements:
  - support for isolated durations (a single duration without
    explicit pitch)
  - support for implicit starting pitch in relative mode
    (issues #18 and wbsoft/frescobaldi#648)


2015-03-08: python-ly 0.9.1

- updated LilyPond data to 2.18


2015-03-07: python-ly 0.9
- added ly.rests containing various rest manipulations
- robust Python 3 support, Python 3 is now recommended, although 2.7 will
  still be supported for the foreseeable future.
- don't yield the duration in a \tuplet command as a music token (issue
  wbsoft/frescobaldi#631)
- a script `xml-export.ily` has been included to dump the music structure
  inside LilyPond to an XML file. This is not used yet, but could be used in the
  future to use LilyPond to parse files and build music, and then export it
  to other formats.
- MusicXML export improvements


2015-01-24: python-ly 0.8
- fix (allbeit experimental) musicxml export
- basic api documentation included


2015-01-23: python-ly 0.7
- first release as an officially separate project from Frescobaldi
- add INSTALL.md to source distribution


2015-01-23: python-ly 0.6
- node and slexer are no longer toplevel modules; only the ly package


2015-01-21: python-ly 0.5
- large MusicXML export improvements, contributed by Peter Bjuhr (MusicXML
  export is still experimental)
- handle german pitch names asas and heses correctly when writing those
- don't transpose chord argument of \stringTuning command
- Python3 robustness improvements


2014-03-05: python-ly 0.4
- fix transposing when alterations would be more than a double sharp or double
  flat; handle it by moving the note, just like LilyPond does it
- Python3 installation fixes
- small MusicXML export improvements, contributed by Peter Bjuhr (MusicXML
  export is still very experimental)


2014-02-05: python-ly 0.3
- new command 'highlight' ('hl') to create syntax-highlighted HTML files of
  LilyPond source files (or any file that is understood by ly.lex)
- new, very experimental, command 'musicxml' to export music to MusicXML


2014-01-08: python-ly 0.2
- new commands 'abs2rel' and 'rel2abs' that convert \relative music to
  absolute and vice versa
- support for Python 3. Not all of the ly python module has already been
  tested, but installing and running the various ly commands works well.


2014-01-07: python-ly 0.1
- initial release


