
# Information about versions 0.0-0 (?) 0.0-1, ..., 0.0-3,
# is lost in the mists of time.
#
# Information about the changes 0.0-4 |--> 0.0-5 |--> 0.0-6
# will be added ``when I get around to it''. :-)

Version 0.0-6 |--> 0.0-7:

# 24/August/2009

(1) Added namespace; changed name of .First.lib()
    in First.R to .onLoad().  (As one must when adding
    a namespace, apparently.)

    Thanks to Tobias Verbeke for instigating this change
    and for showing me how to do it.

(2) Removed announcement of old changes from .First.lib();
    put in announcement of addition of namespace.

Version 0.0-7 |--> 0.0-8:

# 23/October/2009

(1) Added bivariate isotonic capabilities, using Applied
    Statistics Algorithm AS 206, at the request of
    Paramjit Gill.

(2) Corrected the spelling of ``NAMESPACE'' (!!!) in a
    message produced by the .onLoad() function.

Version 0.0-8: |--> 0.0-9:

# 5/September/2011

(1) Changed some titles in the help files to avoid cock-ups
    in the INDEX file (since R CMD INSTALL now seems to truncate
    titles that are over 72 characters long.

Version 0.0.9 |--> 0.0-10

# 04/November/2011

(1) Got rid of the INDEX file completely!  Seems not to be needed,
    and just causes trouble.

(2) Got rid of the "now has a NAMESPACE" message in First.R, since
    *everything* now has a namespace!

Version 0.0-10 |--> 0.0-11

# 11/January/2013

(1) Fixed a bug in the Fortran code for the "smooth" algorithm
    underlying the biviso() function.  In this code some dimensions
    were hard-wired at 20. This caused the function to throw an error
    if the matrix of values being isotonized was bigger than 20 x 20.
    I revised the code so that the dimensions are now dynamic.

    Thanks go to Jing Qin by whom this bug was drawn to my attention.

(2) While doing some checking I noticed that the function was
    returning results that weren't *quite* isotonic.  Made
    adjustments to value of "eps" and made "EPS" an argument of
    the "PAV" subroutine.  This appeared to reduce the problem
    substantially but did not quite eliminate it completely.

(3) It also made the algorithm sometimes fail to converge, so
    I incremented the default value of "ncycle" from 1000 to
    10000, which seems to fix the problem.

Version 0.0-11 |--> 0.0-12

# 12/January/2013

(1) Changed the file First.R to contain two functions:
    .onLoad() to load the Fortran code, and
    .onAttach() to produce the startup message.

Version 0.0-12 |--> 0.0-13

# 16/January/2013

(1) Changed biviso() to use two "epsilon" arguments, namely "eps"
    and "eps2" and changed the code of "smooth.f" to make use of
    these.  The "eps" argument is used for determining convergence.
    The "eps2" argument gets passed to the PAV() subroutine and is
    used for determined whether there are adjacent violators.

Version 0.0-13 |--> 0.0-14

# 31/March/2013

(1) Fixed a typo in biviso.R and one in biviso.Rd.

# 1/April/2013

(2) Added arguments "fatal" and "warn" to biviso(); the first (if
    set to FALSE) permits the return of "intermediate" values where
    convergence has not yet been achieved.  (This addition prompted
    by a request from Revathi Ananthakrishnan.)

(3) Added a check in biviso() that ncycle is at least 2.

(4) Modified the first example for biviso() to introduce some random
    non-isotonicity.

(5) Added an example illustrating the use of fatal=FALSE
    in biviso().

Version 0.0-14 |--> 0.0-15

# 18/April/2013

(1) Fixed up the Fortran dimension statements, getting
rid of dummy 1's as the last dimensions (which now throws
a warning from the compiler).

Version 0.0-15 |--> 0.0-16

# 31/May/2015

(1) Corrected the comment at the beginning of ufit.r.

(2) Changed unimode to deal with the linear ordering cases
immediately without further fooling about.

(3) Consequently removed checks on k1 == 0 and k2 == 0
(if either of these happens something is toadally screwed up;
goof is set to .true. and the function returns).

Uploaded to CRAN 31/05/2015

Version 0.0-16 |--> 0.0-17

# 31/May/2015

(1) Added unimode.sa() (standalone function for fitting a
unimodal isotonic regression) to the package.  It is an
"internal" undocumented function.

(2) Fixed the munged-up date field in DESCRIPTION.

# 01/June/2015

(1) Fixed glitches in unimode.sa().

(2) Fixed glitch in ufit.r.

Uploaded to CRAN 01/06/2015

Version 0.0-17 |--> 0.0-18

(1) Wrote vignette explaining the algorithm used.

(2) Added exemplary data set "vigour", the data on vigour
of growth in stands of spruce trees in New Brunswick, Canada.
