~s-cecilio/lomse/master

160 by cecilios
Add CHANGELOG.md file
1
# Lomse Library. Log of changes
2
3
198 by cecilios
Update Changelog and version information after last Merge
4
[Since last version] 0.20.0
5
=============================
6
200.1.3 by cecilios
Update changelog
7
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.20.0
8
198 by cecilios
Update Changelog and version information after last Merge
9
- none
10
200.1.3 by cecilios
Update changelog
11
##### COMPATIBLE CHANGES
12
216.1.4 by cecilios
Finish volta bracket rendering
13
- MusicXML: Import and render volta brackets.
210.1.2 by cecilios
Fix beams in malformed MusicXML files if option 'fix_beams' is enabled
14
- Added options for controlling behaviour of MusicXML importer when
15
  uncomplete or malformed MusicXML files.
206.1.2 by cecilios
Consider different break modes in line breaker algorithm
16
- Line breaker algorithm improved. Now it considers different break modes.
202.1.10 by cecilios
update changelog and clean code
17
- Improvements in tuplets renderization and support:
18
    - Nested tuplets now fully supported.
19
    - MusicXML importer now imports tuplets.
20
    - Nested tuplets now fully supported in LDP.
21
    - Layout of tuplets improved and also nested tuplets are now drawn.
22
- Systems justification changed for using approximate sff.
200.1.3 by cecilios
Update changelog
23
- Blank space in LDP exporter has been normalized.
24
- LDP exporter reviewed for following the same syntax rules than LDP 
25
  Analyser, thus ensuring a round trip in LDP export-import.
215.1.1 by cecilios
Fix #81: Default MIDI channel when no midi information in file
26
- Fixed issue #81. Instead of assigning MIDI channel 0 to any instrument
27
  without MIDI settings, now a different channel is assigned to each
28
  instrument.
214.1.3 by cecilios
Finish changes in MusicXML importer to deal with score-part
29
- Fixed issue #82. MusicXML importer now deals with all midi information
215.1.1 by cecilios
Fix #81: Default MIDI channel when no midi information in file
30
  in score-part (MusicXML 3.0) and is added to the internal model.
31
- Fixed issue #77: In the MusicXML importer the pitch for notes with
32
  accidentals was computed wrong.
212.1.1 by cecilios
Fix issue #68: Assume some default value for clef in MusicXML importer
33
- Fixed issue #68: Assume some default value for clef in MusicXML importer
211.1.1 by cecilios
Fix issue #69: Playback very slow for 3/8 tempo
34
- Fixed issue #69: Playback very slow for 3/8 tempo
35
- Fixed issue #67: Fix beams in malformed MusicXML files.
36
- Fixed issue #73: Highlight is not synced. when moving to next page.
37
- Fixed issue #70: Score highlight does not work in some scores.
215.1.1 by cecilios
Fix #81: Default MIDI channel when no midi information in file
38
- Fixed issue #10: Note flags too long for short stems.
211.1.1 by cecilios
Fix issue #69: Playback very slow for 3/8 tempo
39
- Fixed spacing issues, related to clefs and prolog objects, detected 
40
  in regression tests.
41
- Fixed an issue with justification, detected in regression tests. It
42
  caused that in some cases the system was not justified.
200.1.3 by cecilios
Update changelog
43
- Some fixes in LDP exporter.
211.1.1 by cecilios
Fix issue #69: Playback very slow for 3/8 tempo
44
- Implemented method SimpleView::get_view_size() that was empty!
200.1.3 by cecilios
Update changelog
45
46
198 by cecilios
Update Changelog and version information after last Merge
47
Version [0.20.0] (1/Sep/2016)
163 by cecilios
Update for new release
48
=============================
49
178.1.2 by cecilios
Update changelog
50
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.19.0
51
196.1.13 by cecilios
Update changelog
52
- LibraryScope methods 'set_draw_anchors()' and 'draw_anchors()'
53
  have been renamed as 'set_draw_anchor_objects()' and 
54
  'draw_anchor_objects()', respectively.
178 by cecilios
Update Changelog and version information after last Merge
55
178.1.2 by cecilios
Update changelog
56
##### COMPATIBLE CHANGES
57
196.1.13 by cecilios
Update changelog
58
- The spacing algorithm has been replaced. Previous algorithm was scattered
59
  along several objects and was difficult to understand and, therefore, to 
60
  modify and to improve. It was first isolated in a single object with a 
61
  clear interface, and an abstract class was defined to facilitate 
62
  replacement and experimentation with different algorithms in future. Then 
63
  a new algorithm, based on Gourlay's approach, was implemented. The new 
64
  algorithm is easier to understand and gives more flexibility.
65
66
- The lines break algorithm was still valid, but the penalty function has 
67
  been changed. This improves layout and gives more control and flexibility. 
68
69
- Lyrics are now taken into account for spacing notes, removing the lyrics
70
  layout problems that were present in previous version. The internal model
71
  for lyrics has been replaced by a new model, to allow for better control
72
  of the layout process.
73
  Also additional space between staves is added when lyrics are present.
74
  The solution for vertical staves spacing is provisional and requires more
75
  changes (in study). Nevertheless, in preparation for these changes, the
76
  score layout algorithm have been modified for dealing with systems 
77
  with variable height.
78
79
- Trace and debug options has been added to the library, to facilitate
80
  experimentation and debugging of spacing algorithm and lines breaker 
81
  algorithm.
82
83
- Although in finished scores is normal practice to justify the last system,
84
  there are cases were this is not required or even need to be prevented. 
85
  Also, truncation of staff lines after last object is a need in some 
86
  cases. Therefore, scenarios for justification and truncation of last 
87
  system have been analyzed, and specific options for controlling the 
88
  behaviour have been added to the library. Now users can fully control 
89
  these aspects. LDP options for this have been reviewed and adapted. 
90
  As a consequence, two existing options ('Score.JustifyFinalBarline' 
91
  and 'StaffLines.StopAtFinalBarline') have been deprecated and replaced
92
  by two new options ('Score.JustifyLastSystem' and 'StaffLines.Truncate').
93
94
- For backwards compatibility to prevent undesired changes in existing 
95
  scores due to the new algorithms (that is, for ensuring that the visual 
96
  appearance of existing LDP scores, mainly for LenMus eBooks, is preserved), 
97
  the spacing algorithm parameters have been adjusted. New LDP options 
98
  ('Render.SpacingOptions' and "Render.SpacingFopt") has been added for 
99
  controlling the behaviour of the new spacing algorithm and the lines 
100
  breaker algorithm, so that users can have now full control of spacing 
101
  and lines breaking algorithm options.
102
103
- Renderization is improved in several aspects:
104
    - Score titles are now rendered.
105
    - Additional syllables and elision symbols in lyrics are now rendered.
106
    - Added more symbols for fermata.
107
    - Names and brackets/braces for groups of instruments now rendered.
108
    - Barlines for groups now can be joined. Also mensurstrich layout is
109
      supported.
110
    - Left barline at start of systems now also drawn in empty scores.
111
112
- Added support, in LDP, for many music notations: lyrics, articulations
113
  (accents & stress marks), dynamics marks, groups of instruments and
114
  score titles.
115
116
- Also several fixes and small changes:
117
    - Fixes for avoiding compilation errors with c++11 compilers.
118
    - Whitespace in text now properly managed in LMD files (issue #42).
119
    - Default styles added to headings, paragraphs and tables (issue #43).
120
    - New system tag now works again (issue #1).
121
    - MusicXML importer now supports part groups.
122
    - Added squared bracket for part groups (group symbol == line)
178.1.2 by cecilios
Update changelog
123
178 by cecilios
Update Changelog and version information after last Merge
124
125
Version [0.19.0] (2/May/2016)
126
==============================
127
176.1.2 by cecilios
Update changelog
128
Continue defining and documenting the public API.
129
130
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.18.0
131
132
Some typos fixed in public members and enum values:
133
134
- Constant *k_glyph_small_32th_note* in enum EGlyphIndex renamed as *k_glyph_small_32nd_note*
135
- Constant *k_32th* in enum ENoteTypes renamed as *k_32nd*
136
- Constant *k_duration_32th_dotted* in enum ENotesDuration renamed as *k_duration_32nd_dotted*
137
- Constant *k_duration_32th* in enum ENotesDuration renamed as *k_duration_32nd*
138
- Method *Interactor::get_ellapsed_times()* renamed as *Interactor::get_elapsed_times()*
139
178 by cecilios
Update Changelog and version information after last Merge
140
Some methods changed:
141
- Removed unnecesary parameter in some CmdCursor constructors.
142
143
And some methods removed from public API.
163 by cecilios
Update for new release
144
145
169.1.2 by cecilios
Fix print API
146
Version [0.18.0] (26/Mar/2016)
147
==============================
148
149
The public API of Lomse is being defined and documented.
150
API documentation is available at http://lenmus.github.io/lomse/
151
  
152
153
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.17.20
154
155
Version 0.18.0 includes changes for defining the public API of the
156
following classes:
157
158
- LomseDoorway
159
- Interactor
160
- Presenter
161
162
This implies that some methods are no longer available in public API.
163
164
Also, the API for printing has been reviewed:
165
166
- Removed method Interactor::get_page_size_in_pixels().
167
- Added method Interactor::set_print-ppi().
168
- Method Interactor::set_printing_buffer() renamed as 
169
     Interactor::set_print_buffer().
170
- Method Interactor::on_print_page() renamed as Interactor::print_page().
171
  Parameter 'scale' has been removed.
172
173
174
163 by cecilios
Update for new release
175
Version [0.17.20] (5/Mar/2016)
176
==============================
160 by cecilios
Add CHANGELOG.md file
177
178
Mainly, changes for improving the MusicXML importer, for supporting
179
more music notation elements and for implementing visual regression tests.
163 by cecilios
Update for new release
180
Development moved to GitHub.
160 by cecilios
Add CHANGELOG.md file
181
    
182
183
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.16.1
184
185
- none
186
187
##### COMPATIBLE CHANGES
188
189
- Version numbering scheme modified to add build inormation. Patch level
190
  automatically increased with every merge.
191
- Added method Interactor::get_num_pages() for improving the print API
192
- The XML parser (rapidxml) has been replaced by pugixml for better
193
  Unicode support.
194
- Line number added to error messages related to XML files, for better
195
  error reporting.
196
- Score layouting improved:
197
    - Fixed bug 80222: Some measures are splitted in two systems
198
    - Fixed bug 80223: lack of space after intermediate barlines
199
    - ColumnsBreaker algorithm reviewed and fixed. More tests added.
200
- Added support for more music notation elements:
201
    - articulations
202
    - ornaments
203
    - technical notations (just a few)
204
    - dynamics notations
205
    - slurs
206
    - lyrics
207
- Continue development of MusicXML importer:
208
	- barlines, repetition barlines and barlines at start of measures
209
	- augmentation dots for notes and rests
210
	- beams
211
	- backup/forward
212
	- full-measure rests
213
	- fermatas
214
	- ties
215
    - articulations
216
    - ornaments
217
    - technical notations (just a few)
218
    - dynamics notations
219
    - slurs
220
    - lyrics
221
    - derive note type from duration when type not present
222
- Modifications in internal model:
223
	- duration now explicit value for note/rest in internal model
224
	- explicit mark in rests for full measure rests
225
	- orientation flag added to ties, for avoiding having to use a bezier 
226
        element for changing default orientation.
227
    - added several classes for supporting the added elements.
228
- Renderization:
229
    - Added engravers and all need objects (glyphs, shapes, etc) for
230
        the new added music notation elements.
231
- Small fixes:
232
	- Removed background borders in document images generated for printing.
233
- Other chages:
234
    - CMakeLists.txt build script modified so that library name will be
235
        always 'liblomse', without version numbers.
236
    - CmakeLists.txt  build script modified so that by default, the unit
237
        tests runner program (testlib) is always built.
238
    - All tests files reviewed and reorganized for visual regression
239
        tests. Scripts for this created, so that regression tests will now
240
        systematically be run after every library build.
241
    - Added tutorial 1 for using Lomse in Qt applications.
242
    - Fixed all warnings due to 'unused parameter'
243
    
244
245
Version [0.16.1] (7/Sep/2015)
246
=============================
247
248
Mainly, changes for using SMuFL compliant music fonts and for implementing support
249
for new features required by eBook L3_MusicReading in Phonascus. Some bug fixes.
250
    
251
252
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.15.0
253
254
- Constants ImoStyle::k_bold and k_italics renamed as k_font_style_italic and
255
k_font_weight_bold. Constant k_font_normal splitted into k_font_style_normal
256
and k_font_weight_normal. Required changes: replace the renamed constants:
257
    - ImoStyle::k_bold    → replace by  ImoStyle::k_font_weight_bold
258
    - ImoStyle::k_italic  → replace by  ImoStyle::k_font_style_italic
259
    - ImoStyle::k_normal  → replace by  ImoStyle::k_font_weight_normal or
260
    - ImoStyle::k_font_style_normal, depending on case.
261
    	
262
##### COMPATIBLE CHANGES
263
264
- ImFactory modified to ensure that Id is assigned *before* the imo is created.
265
This fixes a design problem causing bug 80211.
266
- Code modified for using SMuFL compliant music fonts. Default font changed to
267
Bravura font. LenMus font (lmbasic2.ttf) removed, and from now unsupported.
268
- Defined default style for metronome marks. Added code for controlling that
269
default styles are not exported to source code unless they are modified.
270
- Added support for common time and cut time signatures (LDP language, LdpAnalyser,
271
LdpExporter, TimeSignatureEngraver, ImoTimeSignature and other related changes).
272
- Fixed bugs 80213 and 80214 in examples for tutorials
273
- Score chopin_prelude_v20.lms updated for fixing bug 80212
274
- Included all note symbols and dots in metronome marks
275
- Trace levels added to spacing algorithms
276
- Fixed bug 80215: First goFwd doesn't work properly and notes get overlapped.
277
- Fixed bug 80217: Stem length in chords incorrectly computed: too long.
278
- Fixed bug 80216: Fermata in note on second staff is positioned on first staff.
279
	
280
281
Version [0.15.0] (27/Mar/2015)
282
============================
283
284
Development continues. Mainly changes for supporting document edition. A few backwards
285
incompatible changes, that will require a couple of fixes in existing code using this
286
library. 
287
	
288
289
##### BACKWARDS INCOMPATIBLE CHANGES WITH 0.14.0
290
291
- enum EBarlines created.
292
→ Backwards compatibility: You have to replace all barline constants, 
293
  such as "ImoBarline::k_simple" by "k_barline_simple", etc
294
- The update screen policy has been reviewed and clarified. As a consequence some
295
changes has been made affecting, mainly, to Interactor class. 
296
→ Backwards compatibility: Interactor::new_viewport() and all Interactor
297
  methods for changing scale and zooming factor, now force a redraw. A third
298
  parameter (bool fForceRedraw=true) has been added to these methods. You can 
299
  modify your existing code by specifying fForceRedraw=false for preventing
300
  redraws and keep the old behaviour
301
- File format parameter added to LomseDorway::new_document() and 
302
PresenterBuilder::new_document() for choosing source code format.
303
→ Backwards compatibility: You will have to review your code and add 
304
  this parameter with value 'Document::k_format_ldp' as that was the
305
  expected format in previous versions.
306
	
307
##### COMPATIBLE CHANGES
308
309
- Version changed to 0.15.0
310
- Shape id now generated and assigned to shapes. Methods in GModel to find
311
  a shape reviewed
312
- ScoreCursor now skips implicit key and time signatures
313
- TimeInfo class implemented, for computing timecode and related data
314
- ScoreCursor now provides TimeInfo data
315
- DocCommandExecuter now saves cursor state and uses it in undo/redo
316
- DocCommand::perform_action() now return int indicating success/failure
317
- DocCommand added to undo/redo stack only if execution success
318
- Problems detected with delete staffobj command => Solution: goBack/goFwd
319
  reconsidered. goBack removed. goFwd as special non-visible rest. Voice
320
  now mandatory. LDP version changed to 2.0
321
- ColStaffObjs changed to deal with LDP 2.0
322
- Added 'add staff obj.' command
323
- Added 'add tie' command
324
- Added 'add tuplet' command
325
- Added 'change dots' command
326
- Added 'delete block level obj.' command
327
- Added 'delete relation' command
328
- Added 'delete staff obj.' command
329
- Added 'break beam' command
330
- Added 'join beam' command
331
- Added 'insert block level obj.' command
332
- Added 'insert staff obj.' command
333
- Added 'insert many staff objs.' command
334
- Lomse now provides events when the set of selected objects change and when
335
  a commnad is executed
336
- SelectionSet now contains and provides an ordered ColStaffObjs object 
337
  containing all selected staffobjs
338
- SelectionSet now provides validations on selections, for enabling/disabling
339
  tools. You can override these default validations to have a different 
340
  behaviour in your applications
341
- Commands now receive optional name, to support i18n
342
- Added im_attributes
343
- Reviewed engravers for taking into account object color
344
- Commands redesigned for accepting target from selection set
345
- TimeGridTable now created for each GmoBoxSystem
346
- Class TimeGrid created. Grid displayed on system in which caret is placed
347
- Created TaskDataEntry for supporting data entry using mouse
348
- Added OverlaysGenerator and VisualEffect classes, for improving performance,
349
  optimizing repaints and providing a common architecture for all visual
350
  effects
351
- Paint event (k_update_window_event) now includes damaged rectangle 
352
  information so that user application can optimize repaints
353
- Selection rectangle, caret, playback highlight and time grid are now implemented 
354
  as VisualEffect objects, for improving visual speed and for uniform treatment
355
  of all dynamic visual effects
356
- Added DraggedImage class for supporting dragged images
357
- TaskSelection behavior changed to deal with more complex behaviour required by
358
  interactive edition. More tasks added: TaskSelectionRectangle, TaskMoveObject
359
- Added Handler visual effect class. Support implemented in GmoShapeTie
360
- Class NoterestEngraver removed
361
- Some engravers modified for creating shapes to be dragged without requiring
362
  to tie them to an ImoObj.
363
- Select objects with click, add to selection with Ctrl+click.
364
- Shapes related to notes and rests modified to take voice into account so 
365
  that voices can now be coloured, hidden, etc
366
- RenderingOptions now includes options for highlighting current selected 
367
  voice and for colouring voices
368
- Document modified for detecting if it has been changed since las time it was
369
  saved. DocCommandExecuter now controls when document is modified and keeps
370
  it synchronized with undo/redo.
371
- All ImoObj objects now have flags to control edit options on each object
372
- Composite commands implemented
373
- CmdAddNoteRest for replace edition mode implemented
374
- Caret behaviour redefined and all cursors re-implemented
375
- Commands refactored for using new methods for updating cursor
376
- ModelBuilder was only dealing with scores at first level. This is now 
377
  fixed and can deal with scores at inner levels
378
- Edition flags added to all ImoObj, to allow for selective edition
379
- DocCursor improved to traverse documents with nested content
380
- DocCursor now supports 'jailed' mode: cursor cannot exit the specified object
381
- Added 'restricted' edition mode: Only specified object can be edited, and it cannot be deleted.
382
- Added method 'play_measures()' to allow playing a certain number of
383
  measures starting at any meaure.
384
- Fixed dots position in repetition barlines
385
- Starting MusicXML support:
386
    - Added classes MxlCompiler, MxlAnalyser
387
- Class LmdParser renamed as XmlParser. Files renamed.
388
    - Changes for MusicXML import: Minimal functionality for MxlAnalyser implementated and tested
389
	
390
391
Version [0.14.0] (3/May/2013)
392
============================
393
394
Fixes to support Chinese language, bug fixes related to multi-threading,
395
other fixes and some refactoring.
396
397
398
- Version number increased to 0.14.0 due to backwards incompatible API changes.
399
- Document and Interactor raw pointers are now converted to shared pointers
400
  when ownership is transferred to Presenter.
401
- All Presenter API raw pointers to Document and to Interactor changed 
402
  to weak_ptr.
403
- All events receive now a weak_ptr to Interactor instead of a raw_ptr so
404
  that code processing event can check if the event is still valid.
405
- Limitation removed: Time units now represented as double.
406
- Fixed bug in Ctrol objects: bad font selected for Chinese language.
407
- Changed GmoShapeText and ImoScoreText to include language .
408
- PresentersCollection removed: not used and not needed.
409
- Fixed bug in ColStaffObjs iterator causing problems in destructor.
410
- ScorePlayerCtrol: changes to use a graphical UI.
411
- Refactoring: classes RefToGmo and MultiRefToGmo removed (not used).
412
- Refactoring: GmoShape Id type changed from int to ShapeId.
413
- Refactoring: ImoObj Id type changed from long to ImoId.
414
- Refactoring: GmoRef defined. Maps to get Gmo for Imo revised.
415
- Bug fixed in DefaultTextSplitter causing an infinite loop (app. hangs).
416
- Bug fixed in ScorePlayer causing occational crashes.
417
- Bug fixed in Interactor mouse events processing, causing crashes.
418
- Logger class developped. Logging messages added in many places.
419
    
420
421
422
Version [0.13.1] (18/Mar/2013)
423
=============================
424
425
Implementing edition (2). Caret and CaretPositioner.
426
427
- Version number increased to 0.13.1
428
- Caret object implemented: a displayable cursor on the document.
429
- CaretPositioner implemented: responsible for Caret layout and position.
430
- Interactor/Presented modified to create/own DocCursor & DocCommandExecuter
431
- GraphicView modified to display Caret
432
- Interactor: added methods to control Caret state and position
433
- ScoreCursor: state now includes timepos for ref_obj.
434
- ScoreCursor: added method to find previous staffobj
435
- ScoreCursor: added helper methods to test for position type.
436
- GModel modified for accesing a GmoBox given the id of its creator Imo
437
- GModel: added helper methods for positioning caret.
438
    
439
440
Version [0.13.0] (17/Feb/2013)
441
=============================
442
443
Implementing edition commands (1). Refactoring and required functionality.
444
445
- More funcionality:
446
    - DocumentCursor and children cursors created.
447
    - ScoreCursor: changes for moving on a time grid
448
    - Added ScoreModifier class: Preliminary code to delete a staffobj
449
- Changes for ensuring integrity after an edit operation:
450
    - IdAssiner now responsible for translation from ImoObj Id to pointer to ImoObj.
451
    - ImoObj pointer replaced by ImoObj id. in many API methods
452
- Changes for supporting undo/redo:
453
    - LDP: comments now also posible in C style (/*..*/)
454
    - Document: generates checkpoints and restore from checkpoint.
455
    - LmdExporter: main tags operational with scores in ldp format.
456
- Refactoring:
457
    - version number increased to 0.13, to reflect backward incompatible API changes
458
    - Added ButtonCtrl. All Controls reviewed to ensure uniform approach.
459
    - ColStaffObjs: adding support inserting/deleting objects
460
        - time now kept in staffobj instead of in ColStaffObjEntry
461
        - change ColStaffObjs to a double linked list. Sort during insertion
462
        - change ColStaffObjsBuilder to remove goBack/goFwd nodes
463
464
465
Version 0.12.5 (24/Nov/2012)
466
============================
467
468
- Added public method GmoShapeImage::set_image().
469
- Added progress bar control (class ProgressBarCtrl).
470
- Bug fixed: background color doesn't change if a different color specified.
471
472
473
Version 0.12 (7/Sep/2012)
474
=========================
475
476
- TextSplitter class added, to support different languages.
477
- Language and font-file tags added to LDP and LMD analysers.
478
- Added default font for Chinese.
479
- Added Metronome class.
480
- Added CheckboxCtrl class.
481
- Changes in PlayerGui class. Defined PlayerNoGui class.
482
- Changes for allowing customization of ScorePlayerCtrl at Lomse initialization.
483
- Changes in ScorePlayer for better usage of PlayerGui.
484
- Fixed bug in ScorePlayerCtrol, preventing labels translation.
485
- ScorePlayer::quit() method added, to avoid problems during user application quit.
486
487
488
Version 0.11
489
============
490
491
- Added method LomseDoorway::set_default_fonts_path() so that applications linking Lomse statically can inform Lomse about the path where default fonts are located.
492
493
494
Version 0.10.b1
495
===============
496
497
- Initial public release, used in Phonascus 5.0 beta for Linux.
498
499
198 by cecilios
Update Changelog and version information after last Merge
500
[Since last version]: https://github.com/lenmus/lomse/compare/0.20.0...HEAD
501
[0.20.0]: https://github.com/lenmus/lomse/compare/0.19.0...0.20.0
178 by cecilios
Update Changelog and version information after last Merge
502
[0.19.0]: https://github.com/lenmus/lomse/compare/0.18.0...0.19.0
169.1.2 by cecilios
Fix print API
503
[0.18.0]: https://github.com/lenmus/lomse/compare/0.17.20...0.18.0
163 by cecilios
Update for new release
504
[0.17.20]: https://github.com/lenmus/lomse/compare/0.16.1...0.17.20
160 by cecilios
Add CHANGELOG.md file
505
[0.16.1]: https://github.com/lenmus/lomse/compare/0.15.0...0.16.1
506
[0.15.0]: https://github.com/lenmus/lomse/compare/0.14.0...0.15.0
507
[0.14.0]: https://github.com/lenmus/lomse/compare/0.13.1...0.14.0
508
[0.13.1]: https://github.com/lenmus/lomse/compare/0.13.0...0.13.1
509
[0.13.0]: https://github.com/lenmus/lomse/compare/0.12.5...0.13.0
510