--------------------------------------------------------------------------------
icesTAF 3.0-0 (2019-04-25)
--------------------------------------------------------------------------------
o Added function period() to paste period string for DATA.bib entries.

o Removed argument 'name' from taf.skeleton(). The default behavior is now to
  create initial directories and scripts in the current working directory.

o Changed taf.library() so it loads a package instead of changing the library
  path.

o Changed default size of taf.png(). Changed text size in zoom() accordingly and
  renamed arguments. The zoom() function is now generic.

o Changed write.taf() so it gives a warning if column names are duplicated.




--------------------------------------------------------------------------------
icesTAF 2.3-0 (2019-04-08)
--------------------------------------------------------------------------------
o Added function sourceDir() to read all *.R files from a directory.

o Added function zoom() to change text size in a lattice plot.

o Added arguments 'config', 'data', and 'software' to taf.bootstrap().

o Added argument 'append' to draft.data() and draft.software(). Code contributed
  by Alexandros Kokkalis.

o Added argument 'colname' to xtab2taf().

o Improved draft.data() so the default value of 'year' is the current year and
  user can pass period=FALSE.

o Improved file.encoding() so it handles spaces in filenames.

o Improved os.unix() so it recognizes both Linux and macOS operating systems.

o Improved process.bib() so it supports 'bundle' field and multiple filenames in
  'source' field, separated by newlines.

o Improved write.taf() so file="" prints to screen, regardless of dir.




--------------------------------------------------------------------------------
icesTAF 2.2-0 (2019-02-22)
--------------------------------------------------------------------------------
o Added function file.encoding() to examine file encoding. Added functions
  latin1.to.utf8() and utf8.to.latin1() to convert file encoding.

o Added function line.endings() to examine line endings.

o Added arguments 'author', 'year', and 'title' to draft.software(), and
  improved it so it also handles software other than R packages.

o Added argument 'clean' to taf.bootstrap().

o Added argument 'create' to taf.library().

o Improved process.bib() so it does not require taf.bootstrap() to create 'data'
  and 'software' directories.

o Improved taf.skeleton() so every script starts with library(icesTAF) and
  mkdir() to create a working directory.




--------------------------------------------------------------------------------
icesTAF 2.1-0 (2019-01-08)
--------------------------------------------------------------------------------
o Added functions taf.bootstrap() and process.bib() to set up data files and
  software.

o Added functions draft.data() and draft.software() to create initial draft
  versions of metadata files.

o Added functions os(), os.linux() and os.macos() to detect more operating
  systems than before.

o Updated colors (taf.green, taf.orange, taf.blue, taf.dark, taf.light) to make
  them equally intense and easy to distinguish.

o This release introduces package dependencies to parse BibTeX files (bibtex)
  and install packages from GitHub (remotes), with further underlying package
  dependencies.




--------------------------------------------------------------------------------
icesTAF 2.0-0 (2018-12-07)
--------------------------------------------------------------------------------
o Added function taf.library() to work with packages in a local TAF library.

o Added function rmdir() to remove an empty directory.

o Added functions os.unix() and os.windows() to determine OS family.

o Added function taf.unzip() to extract files from zip archives.

o Moved functions read.dls() and write.dls() to the 'icesAdvice' package.

o Changed clean(), makeAll(), makeTAF(), sourceAll(), and taf.skeleton() to
  align with new data-model workflow.

o Renamed function tafpng() to taf.png().

o Added argument 'destfile' to download().




--------------------------------------------------------------------------------
icesTAF 1.6-2 (2018-08-03)
--------------------------------------------------------------------------------
o Added argument 'underscore' to write.taf().

o Added argument 'stringsAsFactors' to read.taf().

o Improved multitable support for read.taf() and write.taf().




--------------------------------------------------------------------------------
icesTAF 1.6-1 (2018-06-28)
--------------------------------------------------------------------------------
o Changed sourceTAF(), sourceAll(), makeTAF(), and makeAll() so they never
  delete the 'begin' folder.

o Changed sourceAll(), makeTAF(), makeAll() so they don't set the working
  directory.

o Changed clean() so user can specify directories to remove.

o Changed write.taf() to search in the global workspace if 'x' is a string.

o Changed cp() to enforce safeguards when moving files.




--------------------------------------------------------------------------------
icesTAF 1.6-0 (2018-05-15)
--------------------------------------------------------------------------------
o Removed function upload(). Initial data and model files are now in the 'begin'
  folder of each assessment.

o Added function plus() to rename plus group column.

o Added argument 'dir' to write.taf().

o Changed read.taf() and write.taf() so they can read/write many tables in one
  call.

o Changed write.taf() so the name of the data frame is the default filename.

o Changed cp() to preserve the timestamp when copying a file.




--------------------------------------------------------------------------------
icesTAF 1.5-3 (2018-04-27)
--------------------------------------------------------------------------------
o Changed default file encoding in read.taf() to UTF-8.




--------------------------------------------------------------------------------
icesTAF 1.5-1 (2018-03-20)
--------------------------------------------------------------------------------
o Replaced argument 'local' with 'rm' in sourceTAF().

o Added argument 'colname' to flr2taf().




--------------------------------------------------------------------------------
icesTAF 1.5-0 (2018-01-25)
--------------------------------------------------------------------------------
o Added functions makeTAF() and makeAll() to run TAF scripts as needed.

o Added arguments 'include' and 'engine' to make().

o Added argument 'local' to sourceTAF(), replacing the 'rm' argument.

o Changed sourceAll() to only run TAF scripts: data.R, input.R, model.R,
  output.R, and report.R.




--------------------------------------------------------------------------------
icesTAF 1.4-1 (2017-12-05)
--------------------------------------------------------------------------------
o Added argument 'grep' to div() and rnd().




--------------------------------------------------------------------------------
icesTAF 1.4-0 (2017-10-30)
--------------------------------------------------------------------------------
o Added function upload() to upload file to TAF database. Added function
  download() to download file in binary mode.

o Added function msg() to show a message, as well as the current time.

o Added function tafpng() to open a graphics device. Added function lim() to
  compute axis limits.

o Added function div() to divide column values with a common number. Added
  function rnd() to round column values.

o Added function taf.skeleton() to create an empty template for a TAF analysis.

o Added function deps() to list dependencies.

o Renamed function sourceAtoZ() to sourceAll().

o Added argument 'move' to cp(). Added argument 'clean' to sourceTAF(). Added
  argument 'column' to tt().

o Added color objects: taf.green, taf.orange, taf.blue, taf.dark, and taf.light.

o Added example data frame summary.taf to demonstrate div() and rnd().




--------------------------------------------------------------------------------
icesTAF 1.3-2 (2017-06-03)
--------------------------------------------------------------------------------
o Improved package description.




--------------------------------------------------------------------------------
icesTAF 1.3-0 (2017-05-27)
--------------------------------------------------------------------------------
o Added function make() to run script if needed, and sourceAtoZ() to run all
  scripts in alphabetical order. Added clean() to remove TAF directories.




--------------------------------------------------------------------------------
icesTAF 1.2-0 (2017-05-19)
--------------------------------------------------------------------------------
o Added function sourceTAF() to run scripts. Added cp() to copy files and
  mkdir() to create a directory. Added read.taf() and write.taf() to read and
  write TAF tables. Added long2taf(), taf2xtab(), tt(), and xtab2taf to convert
  between table formats.

o Renamed functions readDLS() and writeDLS() to read.dls() and write.dls().

o Removed function dir.remove() which is no longer needed in TAF scripts.

o Added example data frames catage.long, catage.taf, and catage.xtab to
  demonstrate different table formats.




--------------------------------------------------------------------------------
icesTAF 1.1-0 (2017-04-27)
--------------------------------------------------------------------------------
o Added functions flr2taf() and taf2long() to convert between table formats.




--------------------------------------------------------------------------------
icesTAF 1.0-0 (2017-02-17)
--------------------------------------------------------------------------------
o Initial release, with five functions: dir.remove(), dos2unix(), readDLS(),
  unix2dos(), and writeDLS().
