Version 1.6.0
------------------------------------------------------------------------------
* STR-validator now requires R version >= 3.1.3 and ggplot2 version >= 2.0.0
* Updated kit file. Added 'Fusion 6C', removed 'ESI17'.
  Kit sorted roughly according to vendor and release.
* Bug fixes and improvements with the most significant listed below:
  - calculateDropout / calculateDropout_gui
  Handles the case when a reference allele is NA (skip to next marker).
  Reverted fix in 1.5.2.9000 and instead removed all NA rows from reference prior to analysis.
  - calculateDropout_gui
  Added automatic calculation of average peak height 'H'.
  - calculateDropout
  Fixed reference sample name subsetting bug. Confirmed with new test #09.
  Some 'warnings' changed to 'stop'.
  Better information in stop messages.
  - readPanelsFile
  Convert all color names to lower case. Fixes kit plot D16 bug in Fusion 6C.
  - calculateBalance / calculateBalance_gui
  Added option to calculate Hb by LMW/HMW, and updated test-calculateBalance accordingly.
  - calculateBalance_gui
  Added automatic calculation of average peak height 'H'.
  Added option for exact matching, and drop sex markers, fixed word option not saved.
  - plotBalance_gui
  Added new plot options 'Hb vs. Marker' and 'Lb vs. Marker'.
  Added options to plot all data 'Facet per marker and wrap by dye'. 
  Implemented by dye.
  Better default values reduce risk of plot error.
  - editData_gui
  Added option to limit number of rows.
  Added option to show attributes.
  - plotDistribution_gui
  NA's now removed prior to plotting and subtracted from number of observations.
  - cropData_gui
  Option to remove NA (earlier NA was automatically removed).
  Fixed 'Info' not updated when selecting a column.
  - import / import_gui
  New parameter 'na.strings' to specify what gets converted to NA.
  - addData / addData_gui
  New parameter to specify columns to add.
  - heightToPeak
  Improved implementation.
  - checkSubset_gui
  'Marker' is no longer a required column.
  - filterProfile / filterProfile_gui
  New parameter 'exact' for sample name matching.
  - checkSubset / checkSubset_gui
  New parameter 'exact' for sample name matching.
  - columns / columns_gui
  Now possible to add new column without combining with an existing column.
  - ggsave_gui
  Updated to work with ggplot2 2.0. Fixes error 'dev' function not found.
  - generateEPG / generateEPG_gui
  Rewrote funtion and fixed dye channel bug introduced in ggplot2 2.0.
* New functions:
  - scrambleAlleles
  Scrambles alleles in a dataset to anonymise the profile.
  - colConvert
  - calculateSpike / calculateSpike_gui
  Detection of spikes in profiles.
  - calculateAllele
  Counts the number of each allele per marker over the entire dataset.
  - calculateLb / calculateLb_gui
  Implemented locus balance calculations using data.table wich is much faster.
  Does not require a reference dataset. Calculates as proportion, normalised,
  or centred quantities (sum to 0). Global or by dye.
  - calculateRatio / calculateRatio_gui / plotRatio_gui
  Implemented calculation of locus ratios and plotting of the result.
* New exported function:
  - detectKit
* New tests:
  test-filterProfile
    - Test for unfiltered data.
  test-calculateDropout
    - Test for reference subsetting bug.
  test-calculateLb
    - Tests for new function.
* Removed global variables for ggplot2 in 'globals.R', added importFrom in functions.
* Functions removed:
  - compact
* Added attributes for the following functions:
  - addColor/addDye_gui
  - addData/addData_gui
  - addMarker/addMarker_gui
  - addSize/addSize_gui
  - calculateAT/calculateAT_gui
  - calculateBalance/calculateBalance_gui
  - calculateDropout/calculateDropout_gui
  - calculateHeight/calculateHeight_gui
  - calculateStutter/calculateStutter_gui
  - filterProfile/filterProfile_gui
  - heightToPeak
  - import/import_gui
  - slim/slim_gui
  - tableBalance/tableBalance_gui
  - trim/trim_gui

Version 1.5.2
------------------------------------------------------------------------------
* Bug fixes and improvements with the most significant listed below:
  - calculateAT6 / calculateAT6_gui
  Now use 'standard error of the regression' (or 'sigma') instead of 'standard error of the intercept'.
  - slim / slim_gui
  Fixed error when 'stack' and 'slim' is empty or "" (replaced by 'NULL').
  Now handle no columns to slim/stack (return unchanged data.frame).
  - Plot AT confidence interval now matches the one-sided used in calculateAT6.
* Corrections in documentation or GUI:
  - calculateBalance / calculateBalance_gui
  Parameter description for 'hb=2' changed to 'Max2(Ph)/Max1(Ph)'.
  Changes drop-down menu to 'Smaller peak / larger peak'.
  - modelDropout_gui
  More information in the detailes.
* Use of 'importFrom' as required in R 3.3.0 pre-release.
* Now fully enforces the version numbering convention (http://r-pkgs.had.co.nz/release.html)
 x.y.z.9XXX, where x is a major release, y is a minor release, z is a bug fix, 
 and 9XXX is a in-development version. Development versions will be synchronised to
 GitHub (https://github.com/OskarHansson/strvalidator) and possibly made available at
 the website (https://sites.google.com/site/forensicapps/strvalidator) as file
 for manual download and installation (binary package).

Version 1.5.1
------------------------------------------------------------------------------
* AT function now calculate global AT per dye.
* Bug fixes and improvements with the most significant listed below:
  - Fixed bug in calculateAT (hardcoded dyes)
  - Changed from two-sided critical t-value to one-sided in calculateAT6.

Version 1.5.0
------------------------------------------------------------------------------
* New functions to estimate analytical threshold (tab 'AT').
* New function to perform actions (concatenate, add, multiply, subtract,
  divide) on columns in a dataset (tab 'Tools').
* New plot option 'Histogram' in funtion plotDistribution_gui.
* Bug fixes and improvements with the most significant listed below:
  - Fixed bug in calculatePullup (https://github.com/OskarHansson/strvalidator/issues/8) partial column name match.
  - Fixed bug in calculateBalance (https://github.com/OskarHansson/strvalidator/issues/9) error when NA.
  - Fixed bug in plotDropout_gui (https://github.com/OskarHansson/strvalidator/issues/10) colors in dotplot hardcoded as ESX17.
  - checkSubset, editData_gui, and trim
  Now accept columns named 'Sample.File.Name' or the first occurance of any
  column name containing '*Sample*' as alternative to 'Sample.Name'.
  - colNames
  New option to require number suffix on repeated columns improve autodetection
  for the 'import' and 'slim' function. 
  - editData
  Fixed bug column name changes not saved (introduced in 1.4.0)
  - filterProfile / filterProfile_gui
  Now have and option 'invert' to filter peaks NOT in the reference profile
  - import / import_gui
  Function parameter name changed from 'file.name' to 'import.file',
  New options to autotrim and autolim the imported data,
  New options to import file name and time stamp.
  - calculateBalance_gui
  Option to drop sex markers.
  - plotBalance_gui
  Implemented check for plot facet error caused by all NA'.
  - slim / slim_gui
  Fixed problems with partial column name matching.
  Function parameter name changed from 'keepAllFixed' to 'keep.na',
* Changed parameter names to the same naming convention (period.separated)
  for checkDataset.
* New functions:
  - blockAT
  - calculateAT
  - calculateAT_gui
  - calculateAT6
  - calculateAT6_gui
  - plotAT_gui
  - columns
  - columns_gui
* Removed unused function: loadPackage.
* New tests:
  test-filterProfile
    - Test for parameter 'invert'.


Version 1.4.0
------------------------------------------------------------------------------
* GUI changes: Tab 'Edit' changed to 'Tools'.
* New function to analyse and plot pull-up (bleed-through) peaks (tab 'Pull-up').
* New function to generate EPG like plot to visualise profiles (tab 'Tools').
* New structure of kit file to support multiple sex markers.
* Changed all parameter names to the same naming convention (period.separated)
  for all functions except for in checkDataset and getKit (will be changed in the future).
* Minor bug fixes and improvements with the most significant listed below:
  addColor
  - Fixed error NA Dye for e.g. Yfiler Plus.
  addSize_gui
  - Fixed bug (https://github.com/OskarHansson/strvalidator/issues/7).
  calculateBalance
  - Fixed error when NA's in markerPeakHeightSum.
  calculateBalance_gui / calculateDropout_gui
  - Added kit dropdown and kit attribute to result.
  editData_gui
  - Now copy attribute list to new object upon 'Save As'.
  getKit
  - what='Gender' changed to 'Sex.Marker' and now return vector.
  makeKit_gui
  - Fixed "Error in read.table..." when 'Save' is pressed without data.
  - Fixed "Error in basename(x) : a character vector argument expected"
  - Changed single gender marker to general sex markers (multiple).
  modelDropout_gui
  - Added option to use average peak height 'H'.
  plotStutter_gui
  - Option to drop sex markers.
* New functions:
  - calculatePullup
  - calculatePullup_gui
  - plotPullup_gui
  - generateEPG
  - generateEPG_gui


Version 1.3.1
------------------------------------------------------------------------------
* Now handles window focus correctly.
* Explicit export of functions in NAMESPACE.
* Minor bug fixes and improvements with the most significant listed below:
  calculateBalance_gui
  - Added 'word' option (word boundary) for subsetting of samples.
  calculateHeight / calculateHeight_gui
  - New parameter 'exclude' for allele designations to exclude from dataset.
  - Now also calculate the total peak height.
  calculateMixture
  - Check for uniqueness between reference datasets.
  - Fixed bug in drop-out of minor in if: AA:AB | (A-B)/(A+B). 
  calculateMixture_gui
  - Fixed bug in 'Check subsetting' showing extra combinations in many cases.
  getDb
  - Fixed error when package is not loaded.
  getKit
  - Fixed error if kit=NULL and what!=NA.
  - what="Offset" and what="Repeat" now returns identical data frames.
  ggsave_gui
  - Fixed wrong size to pixel conversion.
  plotPrecision_gui
  - Filter rows with Allele=NA (Fixes issue #6).
  strvalidator
  - 'View' button in 'Workspace' tab can now be used on plot objects.
  - Fixed error message when no projects in projects folder.
* Renamed or replaced functions:
  - calculateH -> calculateHeight
  - calculateH_gui -> calculateHeight_gui
  - test-calculateH -> test-calculateHeight
* Updated tests:
  test-calculateHeight
    - Tests for parameter 'exclude'.
    - Tests for TPH - total peak height.

Version 1.3.0
------------------------------------------------------------------------------
* This version includes a new project manager tab and improved workspace functions.
* New analysis modules for concordance and mixture analysis.
* Version number now visible in STR-validator GUI.
* Help buttons available throughout the GUI, and improved documentation.
* Numerous bug fixes and improvements with the most significant listed below:
  calculateBalance_gui
  - Added check and error message for 'NA' in 'Dye'.
  calculateStutter_gui
  - Added detection of kit and add attribute 'kit' to result.
  detectKit
  - Added support for 'kit' attribute.
  export
  - Fixed 'NA' bug when recycling names.
  getKit
  - Added option to return kit index.
  modelDropout_gui
  - Changed notation on plot to be more correct.
  plotCapillary_gui
  - Fixed boxplot error.
  saveObject (internal function)
  - Added syntactically valid name check.
  - Added 'remove' and 'suggested' parameter.
  tableCapillary, tableCapillary_gui
  - Added scope=RUN.
* New example datasets:
  - 'set5', 'ref51', and 'ref52' (ESX17 example data for mixture analysis).
* New functions:
	- calculateConcordance, calculateConcordance_gui, calculateMixture, calculateMixture_gui.
* Renamed or replaced functions:
  - concatenate_gui -> combine_gui
* New tests:
	- test-calculateConcordance, test-calculateMixture.



Version 1.2.0
------------------------------------------------------------------------------
* Kit definition file 'kit.txt'.
    - Added support for 'Fusion'.
    - Added support for 'GlobalFiler'.
* Allele frequency database file 'database.txt'.
    - Removed column 'AM'.
* Numerous bug fixes and improvements with the most significant listed below:
  addColor/addDye_gui
    - Option to ignore case in marker names.
  - Added 'orange' and 'purple'.
  addSize/addSize_gui
	- Option to ignore case in marker names.
	- Option 'bins' and option to calculate an estimate of size.
	- Fixed bug, kit always "ESX17" (issue#4 @ GitHub).
  calculateBalance/calculateBalance_gui
    - New column 'TPH' (Total locus Peak Height) in result table.
  plotBalance_gui
	- 'position_jitter height' now fixed to zero, previously 'default'.
	- Implemented new column 'TPH' for X-axis when plot Lb.
	- Fixed bug when no observation in an entire dye channel.
  plotDistribution_gui
  - Fixed boxplot bug.
  plotDropout_gui
	- 'position_jitter height' now fixed to zero, previously 'default'.
  plotStutter_gui
	- 'position_jitter height' now fixed to zero, previously 'default'.
	- Fixed same color scale for all sub plots in complex plots.
	- Fixed different y max for complex plot, when supposed to be fixed.
	- Fixed bug when no observation in an entire dye channel.
  trim
	- Made more robust and handles '+' and '-' in sample names.
* New experimental functions for capillary balance analysis:
	- Functions: calculateCapillary, calculateCapillary_gui, plotCapillary_gui, tableCapillary, and tableCapillary_gui.
	- Internal lane standard definition file (ils.txt).
* New function:
	- checkDataset.
* Updated test:
  test-calculateBalance
    - Updated in response to new column 'TPH' and NA in 'MPH' if homozygous.
* New tests:
	- test-addSize, test-tableBalance, test-trim.
* New file:
	- database_readme.


Version 1.1.0
------------------------------------------------------------------------------
* NB! Version 1.1.0 include an important bug fix for estimating a prediction
range for the stochastic threshold (see bug fixes in 'modelDropout').
* Updated for compatibility with 'testthat' version 0.8.
* Kit definition file 'kit.txt'.
    - Added support for 'PowerPlex ESX 16'.
    - Added support for 'Investigator ESSplex Plus'.
    - Fixed errors in 'virtual alleles' for 'Investigator ESSplex SE Plus Kit'
      D2S1338 14 (1->0), D2S441 11.3 (0->1), FGA 30.2 (1->0), FGA 46.2 (0->1).
* New functions for process control (plotting distributions).
* Added package 'gWidgetsRGtk2' in suggestests.
* Numerous bug fixes and improvements made to the following functions.
  The most significant changes are listed below:
  addDye_gui
    - 'Sample.Name' column not required in dataset (only 'Marker' is required).
  calculateBalance/calculateBalance_gui
    - Removed 'perSample' parameter. Use 'tableBalance' for summary statistics.
  calculateH/calculateH_gui
    - New option to add directly to dataframe.
    - New option to replace NA's.
  ggsave_gui
    - Removed unsupported unit 'px', but added info for size in pixels.
  guessProfile/guessProfile_gui
    - Option to remove off-ladder ('OL') alleles.
  modelDropout_gui
    - Removed erroneously implemented prediction interval for T.
    - Implemented conserative T estimate.
  plotBalance_gui
    - Fixed plot bugs.
    - Implemented theme.
  plotDropout_gui
    - Fixed NA in title for ecdp.
    - Fixed heatmap by 'H' loosing samples with equal 'H'.
  plotPrecision_gui
    - Implemented new dot/box plot and plot all data (insted of min/max).
    - Implemented theme and colour.
  plotStutter_gui
    - Fixed plot bugs.
    - Implemented theme.
  slim/slim_gui
    - Fixed minor bug when only one column in 'fix' (issue#3 @ GitHub).
  strvalidator (Main GUI)
    - Added 'Summarize' balance data button in 'Balance' tab.
    - Added 'Add Size' button in 'Edit' tab.
    - Added 'Plot' button for plotting distributions in 'Result' tab.
    - Added 'Summarize' precision data button in 'Precision' tab.
* Example dataset 'Set2' and 'Ref2', changed 'Amelogenin' to 'AMEL'.
* New functions: addSize, addSize_gui, plotDistribution_gui, tableBalance,
    tableBalance_gui, tablePrecision, tablePrecision_gui, 
* Removed functions: calculatePrecision, calculatePrecision_gui.
* Renamed or replaced functions: test-All.R -> testthat.R.


Version 1.0.0
------------------------------------------------------------------------------
* NB! Version 1.0.0 includes many fixes and it is recommended to re-import
   and re-analyse previous data.
* New kit file structure pre-loaded with ESI17, ESI17Fast, ESX17, ESX17Fast,
    Y23, Identifiler, NGM, ESSPlexSE (fixed virtual alleles), NGMSElect, SGMPlus
* New functions for creating new kit definitions and edit the kit definition file.
* New functions for analysis of 'bins' and 'panels' files.
* New functions for process control (e.g. contamination).
* New 'database.txt' file including allele frequency databases:
    "SGM Norway", R. Andreassen et al. / Forensic Science International 170 (2007) 59-61
    "ESX 17 Hill", C.R. Hill et al. / Forensic Science International: Genetics 5 (2011) 269-275
* New function for saving plots as various formats.
* Numerous bug fixes and improvements made to the following functions.
  The most significant changes are listed below:
  calculateBalance/calculateBalance_gui
    - Alleles are now filtered and only peaks matching reference are considered.
    - Added calculation of 'delta' i.e. difference in repeat number.
    - Fixed bug when two peaks have identical height.
    - Added a second definition of Hb (HMW/LMW).
    - Additional data checks.
  calculateDropout/calculateDropout_gui
    - Now complies with the recommendations from the ISFG DNA commission.
    - Implemented a scoring threshold (LDT).
    - Multiple scoring methods implemented.
  filterProfile/filterProfile_gui
    - Possible to use 'ref' without 'Sample.Name' column i.e. one profile for all.
    - Does not discard columns anymore.
    - Fixed bug when adding missing loci.
  getKit
    - Changed to support new kit file structure.
    - New parameter 'what' for specifying the information returned.
  import
    - Changed name on some parameters.
    - Progress messages added.
    - Strings "NA" and "" now replaced with NA.
    - All data is imported as character data.
  modelDropout_gui
    - Implemented modelling from several dropout scoring methods.
    - Removed subset modelling because a subset must be scored again.
    - Changed logistic regression in accordance to ref. 2012.
    - Implemented 'Hosmer-Lemeshow test'.
    - Improved control over plot.
  plotBalance_gui
    - New plot option 'Hb by Delta'.
    - Correctly handles different number of markers per dye.
    - Better control over plot elements, and fixed zoom.
  plotDropout_gui
    - New plot options 'plot by sample name' and empirical cumulative distribution plot.
    - Correctly handles different number of markers per dye.
    - Better control over plot elements, and fixed zoom.
  plotStutter
    - Correctly handles different number of markers per dye.
    - Better control over plot elements, and fixed zoom.
  slim
    - Re-written for better performance.
  tableStutter/tableStutter_gui
    - User defined quantile.
  trim/trim_gui
    - Supports dataframe without 'Sample.Name' column.
    - Fixed bug when samples=NULL, and invertS=TRUE.
  calculatePeaks (former countPeaks)
    - Completely re-written.
* Various bug fixes and improvements in functions:
    addData, calculateResultType, colNames, cropData_gui, detectKit,
    editData_gui, export_gui, addColor, sortMarker.
* New functions: addMarker, addMarker_gui, calculateOL, calculateOL_gui,
    calculateOverlap, calculateOverlap_gui, calculatePeaks_gui,
    calculatePrecision, calculatePrecision_gui, calculateResultType_gui,
    combineBinsAndPanels, getDb, ggsave_gui, loadPackage, makeKit_gui,
    plotKit_gui, plotPeaks_gui, plotPrecision_gui, plotResultType_gui,
    readBinsFile, readPanelsFile.
* Removed functions: addKitInfo, calculateMx (dev. version), dyeToColor,
    calculateMean, calculateSummary, combineRef, getDropoutData
* Renamed or replaced functions: addDye -> addColor, sortMarkers -> sortMarker,
    countPeaks -> calculatePeaks, modelDropout -> modelDropout_gui.
* Renamed files: kits.txt -> kit.txt
* Files moved: inst\tests\ -> tests\testthat\
* Added tests for calculateOL


Version 0.3.0
------------------------------------------------------------------------------

* Save GUI state option added.
* Removed dependency on pcrsim.
* Numerous bug fixes and some clean-up.
* New functions: colNames, cropData_gui, dyeToColor, export, export_gui,
    saveObject, tableStutter_gui
* Functions removed: savePlot_gui
* Added external data: set3.txt, ref3.txt
* Added datasets: set4, ref4


Version 0.2.0
------------------------------------------------------------------------------

* Graphical user interface added: strvalidator - Main GUI.
* New functions: calculateHeterozygous, concatenate_gui, detectKit, 
    editData_gui, guessProfile, guessProfile_gui, listObjects,
    savePlot_gui.
* GUI wrappers added for most functions: addData_gui, addDye_gui,
    calculateBalance_gui, calculateDropoout_gui, calculateH_gui,
    calculateHeterozygous_gui, calculateStutter_gui, checkSubset_gui,
    filterProfile_gui, import_gui, modelDropout_gui, plotBalance_gui,
    plotDropout_gui, plotStutter_gui, slim_gui, trim_gui.
* Functions removed: addZvalue, addZygosity, getDropoutData,
* Functions renamed: importGM -> import
* Added globals.R to suppress NOTES when checking package.

Version 0.1
------------------------------------------------------------------------------

* Initial release