2020-04-10  1.0:  first stable release
                  
                  major changes:
                  
                  1. fixed "sample conversion bug" and removed --leeway parameter
                  
                  Previously, there was a bug in which the program would sometimes produce items with
                  a length of only one sample. The --leeway parameter, which defined the minimum number
                  of samples that two items had to be apart in order to be merged in the ouput (default = 5)
                  attempted to fix this (though the bug was still sometimes present across tiers).
                  This has now been fixed and the --leeway parameter been rendered obsolete by adding 0.5
                  samples to the end time of every item and subtracting 0.5 samples from the start time of
                  every item (unless that start time is 0) ahead of converting them to seconds.
                  
                  2. discard all items of duration <= 0
                  
                  Some BPF tiers sometimes contain items with a duration of 0 samples, or even a negative
                  duration. Starting with this version, these items will be discarded, and a warning displayed
                  to the user (once for every affected tier, not every item).
                  
                  added:
                  - error for when the input does not seem to be a BPF file
                  - warning for when the user chooses to ignore a tier that isn't present in the input anyway
                  - error for when line in input cannot be parsed
                  
                  changed:
                  - invoking the parameter --list-reference-tiers will now print not only the list (to stdout),
                    but also an explanation of its meaning (to stderr)
                  - the <abbreviation> element of any speaker in the .exb file's <speakertable> is now the same
                    as the id attribute of the <speaker> (was Previously empty)
                  - the category attribute of any .exb <tier> element is now the same as its display-name
                    attribute (was previously "0")
                  
                  fixed:
                  - no longer throws an error if symbolic link inference is not possible but also not necessary
                    due to no class 1 or class 5 tiers being present


2020-03-27  0.3:  second beta version
                  
                  changed implementation of the tier representation in the .exb output:
                  the reference tier (see --list-reference-tiers) receives the main speaker id
                  and tier type 't'. All class 1 and class 5 tiers receive the same speaker id
                  and tier type 'a'. Any remaining class 2 and class 4 tiers receive the main
                  speaker id with a dash and the tier name appended, e.g. 'DefaultSpeaker-MAS'
                  and tier type 't'.
                  
                  can now handle incomplete BPF headers. The user is given a warning if an
                  obligatory header element is missing. If SPN is missing, the default value is
                  'DefaultSpeaker'.
                  
                  the program now checks after conversion whether the result is compliant with the document
                  type definition of EXMARaLDA 'basic transcriptions'. It uses the program xmllint for this (this
                  step therefore works only if xmllint is installed, otherwise it displays a warning).
                  
                  BPF header elements which have no direct equivalent in an .exb file are now stored
                  as child nodes of the .exb header element <ud-meta-information>.
                  
                  added new BPF class 2 tier 'VAD' (voice activity detection, added with BPF version 1.3.6).
                  
                  removed unnecessary error message for when the output file does not yet exist.


2019-11-19  0.2:  first beta version
                  
                  Previously, when the times of symbolic links of class 1 or class 5 tiers had to be inferred,
                  the program would cycle through all available class 4 tiers and pick the minimum and the
                  maximum as the link boundaries. Starting from this version, it will instead cycle through
                  a selection of class 4 tiers (in order of preference) and infer the links using one tier only.
                  If none of the tiers in this selection are available, an error is thrown.
                  
                  The command line parameter --list-reference-tiers has also been added which allows the user
                  to retrieve this 'tier hierarchy'.
                  
                  Fixed bug which caused the order of tiers not to be preserved.
                  
                  If the time of a singular symbolic link cannot be inferred, the program now aborts instead of
                  simply issuing a warning.
                  
                  Removed prospect of support for specifying multiple referenced files (the -r option now
                  demands exactly one file name and does not allow for a comma-separated list of files names).
                  
                  The program now throws an error if either the input or output file cannot be found.
                  
                  Greatly improved in-code documentation.


2019-10-31  0.1:  first alpha version
