## ========
Version 1.4

New functionalities:
  - TraMineR.checkupdates(): check for TraMineR updates.
  - seqdistmc(): computes multichannel distances.
  - seqmeant(): computes mean duration in each state.
  - seqmodst(): returns the sequence of modal states.
  - seqmsplot(): for plotting the sequence of modal states. This function is
    a shortcut for seqplot with type="ms", see below.
  - seqrep(): extracts a set of representative sequences.
  - seqrplot(): for producing representative sequence plots. This function is
    a shortcut for seqplot with type="r", see below.
  - seqHtplot(): for producing Entropy Index plots. This function is
    a shortcut for seqplot with type="Ht", see below.
  - seqlogp(): Computing logarithm of sequence probabilities.
  - seqdef(): new 'weights=' option for providing a vector of weights.
  - seqstatd(), seqtrate(), seqlogp() and seqtab(): new option 'weighted=TRUE'
    for using the weights when computing the statistics.
  - seqtrate() and seqsubm(): new 'time.varying' argument for computing
    position dependant transition rates or costs.
  - seqdist(): two additional methods are now available for computing
    distances, namely "HAM" (Hamming distance) and "DHD" (Dynamic
    Hamming Distance).
  - output produced by the seqstatd(), seqtab(), seqmeant(), seqmodst() and 
    seqrep() can now be plotted with their plot() dedicated methods (see 
    new classes and methods below). 

Important changes:
  - seqplot(): is now the generic function for plotting state sequence objects with
    'type' argument. Available types are "d" for state distribution plots,
    "f" for sequence frequency plots, "Ht" for entropy index plots, 
    "i" for sequence index plots, "ms" for modal state sequence plots, 
    "mt" for meant time plots, "r" for representative plots. 
    This function replaces the previous generic plot.stslist() function.
  - plot.stslist(): now produces only a sequence index plot (see new classes and 
    methods below).

Changes in existing functions:
  - seqfplot():
    - new 'yaxis' option: with yaxis="cum" (default) cumulated percentages
      are displayed, while with yaxis="pct" individual sequence percentages
      are shown.
    - pbarw=TRUE is now the default for the pbarw argument.
  - seqtab(): the 'format' argument that specifies the format of the sequences 
    displayed as rownames is now set by default to the short SPS format, 
    e.g. TR/9-EM/63.
  - seqiplot(): sequence indexes are now displayed by default on the y axis. 
    This can be disabled with "yaxis=FALSE".
    
Fixed minor bugs in seqformat(): changes concern mainly the from="SPELL" and  
    from="SPS" options.

New classes and methods:
  - new class 'stslist.statd' for objects produced by the seqstatd() function
    and methods for printing and plotting such objects.
  - new class 'stslist.freq' for objects produced by seqtab() function and
    methods for printing and plotting such objects.
  - new class 'stslist.meant' for objects produced by seqmeant() function
    and methods for printing and plotting such objects.
  - new class 'stslist.modst' for objects produced by seqmodst() function
    and methods for printing and plotting such objects.


## ==========
Version 1.2-1

Changes in function arguments:
  - seqdef(): new 'id' argument for setting the rownames of the sequence object.
  - disscenter(): new 'medoid.index' argument to get the indexes of all
    medoids (rather than only the first one).

Minor bugs fixed:
  - Plotting missing states with seqiplot() and seqfplot() functions.
  - Sum of transition rates with sequences of different lengths not equal to 1.

## ========
Version 1.2

Changes regarding plotting functions:
  - New generic function 'plot.stlist()' with option 'type=' for
    plotting state sequence objects of class 'ststlist' created by
    the 'seqdef()' function. Old functions 'seqdplot()', 'seqfplot()',
    'seqiplot()', 'seqmtplot()' work as in the previous version but by
    calling 'plot.stslist' with the appropriate 'type=' option
    (types are 'd','f','i' and 'mt'). However, the order of the
    functions' arguments may have changed and this may cause problems
    if the names of the arguments were not explicitly specified in your
    scripts (which is inadvisable anyway).

Changes in the dissimilarity and discrepancy analysis diss module:
  - dissreg() is renamed to dissmfac() for multi-factor dissimilarity analysis.
  - disstree(): great speed and memory improvements.

Speed and memory improvements:
  - seqformat(): conversion to TSE format is now much faster.
  - seqdur()
  - seqST()

Changes in the computation of distances between sequences:
  - seqdist() now checks if substitution costs respects the triangle inequality.
    When this is the case it ensures that the resulting dissimilarity matrix
    also respects the triangle inequality.
  - New options for selecting the distance normalization method.
  - New reversed LCP, i.e. longest common suffix method. (method="RLCP")

Various changes:
  - CITATION file added.
  - seqST() caused an error when run with more than 12 states: bug fixed.
  - Fixed other minor bugs.


## ========
Version 1.1

mvad example data set added

Name changes of the following functions
  - seqLLCP() instead of old seqLCP()
  - seqLLCS() instead of old seqLCS()

New diss module for analysing a dissimilarity matrix (such as the one returned by seqdist)
  - dissassoc(): Computes association with a factor
  - dissreg()  : Regression analysis of a dissimilarity matrix
  - disstree() : Tree analysis of a dissimilarity matrix
  - dissvar()  : Computes a pseudo-variance from a dissimilarity matrix.

Changes in the graphics functions (seqiplot, seqfplot, seqdplot, ...):
  - New 'group' option allowing to draw several plots for the levels
    of a factor within a single command
  - TraMineR now uses 'layout' for controlling the position of the
    plots and the legend in the graphic area. This is not compatible
    with par(mfrow=...). To use the standard 'par(mfrow=...)' method,
    one must set the 'use.layout=FALSE' option in the plot functions.
  - seqmtplot() : new function that plots the mean time spent in each state.
  - Option 'withborder=FALSE' is now obsolete and replaced by the standard 'border=NA' option.

Changes in Event Sequence Analysis (seqe module):
  - New plot for exhibiting discriminant subsequences (seqecmpgroup).
  - Overall syntax have been reviewed and is now much simpler.
  - seqefsub now allows to search for user specified subsequences (seqefsub).
  - Event subsequence lists now have specific plot and print method (seqefsub, seqecmpgroup)
  - seqecreate now accepts state sequence and performs automatic conversion (seqecreate)
  - Time constraints are now implemented separately and are stored with the results (seqeconstraint)

Changes in the seqformat() function:
  - New options for importing SPELL formatted data.
  - The STS internal and the output in STS, SPS or DSS formats are now by
    default in extended format (a matrix with one state per column) instead of
    compressed format (a character string).
    Use the compressed=TRUE option to get an output in the compressed format
    (sequences as character strings).
  - SPS1 and SPS2 formats are now replaced by the generic SPS format with
    options SPS.in and SPS.out for defining the separator and surrounding
    characters used for specifying the state/duration couples.

Other new functions:
  - seqgen()   : generates a random sequence.


