Changes in version 1.7.2 (2018-10-03)
------------------------------------

WARNING:

    * There are some major user-visible changes in this version. The
      vignette has been updated, as have the manual pages. There may still
      be inconsistencies, please let me know if you find anything
      confusing. I still need to document the endopolyploidy workflow.

User Visible Changes:

    * Column names reported in tabulateFlowHist are completely revised. The
      new names should be self-explanatory, but will not match the column
      names reported in previous versions of flowPloidy. The output now
      includes the counts for the G1 and G2 peaks, as well as for each
      S-phase component.

    * The browseFlowHist interface now has a "fail" button. This provides
      the user with the ability to reject a sample, even if flowPloidy can
      fit a model to it. For situations where flowPloidy succeeds in
      fitting a model to noise, or where only your standard is visible;
      selecting "fail" for these samples will guarantee that they show up
      as NAs in your summary data.

    * The browseFlowHist interface now includes the option to add
      annotations. These are text comments, not part of the analysis. This
      allows the user to add notes such as "this sample needs to be rerun",
      or "exclude this, data is poor quality", etc.

    * Analysis of endopolyploidy is supported by allowing the user to a)
      increase the number of peaks (samples) fit, up to a maximum of 6; b)
      to *not* fit G2 peaks (via the G2 = FALSE argument), so that the 2C,
      4C, 6C etc peaks are all fit independently of each other, without
      requiring that the 4C peak be twice the size of the 2C peak; and c)
      reworking the output of tabulateFlowHist to allow for reporting the
      fit parameters for an arbitrary number of peaks.

    * Internal changes to the model component code uncovered some bugs in
      the way G2 peaks were fit. These are fixed, and the model fitting
      works slightly better (higher success rate) as a consequence.

Internal Changes:

    * The G1, G2 and S-phase model components are now generated by helper
      functions. These allows me to tweak the component definitions in a
      single location, after which the change is automatically incorporated
      in all of the associated components.

    * The above changes allowed me to replace a lot of duplicated code with
      more general forms, notably in the plotting and tabulating functions.

    * Model parameters are now collected dynamically, so I don't need to
      hard-code the output of tabulateFlowHist. Parameters that the user
      won't need are indicated with the suffix 'P'; any parameter ending
      with 'P' is excluded from the output.

    * Added a 'fail' slot to the FlowHist class, to support the fail button
      described above.

Changes in version 1.5.6 (2018-03-08)
-------------------------------------

User Visible Changes:

    * BUG FIX: the G2 peak of the B sample was not getting incorporated
      into model construction, which caused model fitting to fail on
      samples with histograms skewed towards the left.

    * Updated DebrisModel documentation.

Internal Changes:

    * Fixed broken test.

Changes in version 1.5.3 (2018-01-17)
-------------------------------------

User Visible Changes:

    * The browser interface will no longer allow users to enter arbitrary
      text to select the number of samples. Only valid values, i.e., 1, 2,
      or 3, will be offered as choices. The old version would crash with a
      bad value for sample number.

    * Improved file importing, so that low-quality samples for which peaks
      cannot be detected can still be imported.

    * Added a new argument to FlowHist, so users can set the threshold
      below which the data is ignored when screening out debris. The
      default remains the same, 40, but users with very clean histograms,
      with peaks far to the left, can now lower this value if needed.

    * Model fitting is now limited to the range of the data. That is, empty
      bins at the right (upper) end of the histogram will not be included
      when fitting the NLS. This addresses problems that generated inflated
      RCS values.

    * The limits for the linearity parameter have been extended from
      1.9-2.1, to 1.5-2.5. This will improve/enable model fitting on
      samples where the linearity (the ratio of the G2/G1 peaks) was outside
      the range 1.9-2.1.

Changes in version 1.5.1 (2017-12-04)
-------------------------------------

Minor bug squashed:

    * Changes made upstream to `car::deltaMethod()` introduced a bug. This
      will be resolved as of `car` version 2.1-7. Until that version of
      `car` makes it's way into CRAN, calling `deltaMethod()` on an `nls`
      object will require the argument `vcov.` be explicitly set to `vcov`,
      a function in the stats package. This has been done in `flowPloidy`,
      and should be invisible to users. In addition, the bug is not present
      in the current R release, so it should not need to be backported to
      previous versions of flowPloidy.

Changes in version 1.1.9 (2017-04-19)
-------------------------------------

User Visible Changes

    * Users may now specify one or more internal standard sizes in
      functions FlowHist() and batchFlowHist(), via the argument
      'standards'. These values will be presented to the user in the
      browseFlowHist() viewer, and after being set by the user, the value
      will be used to calculate the GC size in pg in the function
      tabulateFlowHist.

    * Users may now select which peak in the histogram to treat as the
      internal standard when calculating GC values.

    * New vignettes added: "Getting Started", and "Histogram Tour".

    * Old vignette "overview" removed.

    * Internal help pages greatly expanded, including many internal
      functions. See ?flowPloidy for an overview

    * Many minor bug fixes and GUI tweaks (for browseFlowHist).

Changes in version 1.1.3 (2016-11-25)
-------------------------------------

User Visible Changes

    * Gating fully implemented in browseFlowHist! Major reorganization of
      the browseFlowHist layout.

Changes in version 1.1.2 (2016-11-22)
-------------------------------------

User Visible Changes

    * Added support for processing files with two standards present. A new
      argument is available for functions that load FCS files
      (batchFlowHist, FlowHist etc.): `samples`. By default this is set to
      2, to account for a single unknown and an co-chopped standard. If you
      are using two co-chopped standards (or really anytime you have three
      distinct samples chopped together), set samples = 3. This can also be
      changed interactively in the browseFlowHist GUI.

    * The layout of the browseFlowHist GUI has been re-arranged somewhat to
      accomodate the new features mentioned above.

    * The linearity flag is over-ridden when no G2 peaks are present.
      Without a G2 peak, linearity can't be properly fit. This leads to
      linear gradients, because the linearity parameter is used in the
      S-phase components.

Changes in version 1.1.1 (2016-10-26)
-------------------------------------

Internal Changes:

    * Improved peak finding algorithm

    * Reduced region searched for the starting bin for model fitting. Was
      originally 20, now set to 10. Need more data to establish best
      approach.

Changes in version 0.99.3 (2016-10-17)
--------------------------------------

Internal Changes

    * Updated DESCRIPTION to include URL and BugReports fields, mostly as
      an exercise to test SVN access and syncing SVN <-> git

Changes in version 0.99.2 (2016-10-12)
--------------------------------------

Internal Changes

    * added a new slot to ModelComponents, `paramLimits`, which allows
      lower and upper limits to be set for each model parameter. (corrects
      bug where linearity wanders below 1, giving nonsense results).

    * rationalized the bounds of the data fit in the NLS procedure. Model
      fitting, and RCS calculation, are now all tied to the bin identified
      by fhStart. This selects the highest intensity (peak) in the first 20
      non-zero channels, and ignores all channels below this point. Prior
      to this, the number of observations and associated degrees of freedom
      was calculated in an ad-hoc manner, making the RCS values (even-more)
      difficult to interpret; in addition, the single- and multi- cut
      values started at one channel, but the RCS calculations started on
      another channel, which didn't make sense.

Changes in version 0.99.1 (2016-10-11)
--------------------------------------

User Visible Changes

    * Vignette updated to include installation instructions for
      BioConductor

Internal Changes

    * Added accessor functions for ModelComponent and FlowHist classes, so
      direct access of slots via the `@` operator is no longer used outside
      of the initialization functions.

    * replaced some loops with vectorized calculations

    * replaced call to `eval` with a normal function call to `nlsLM` in
      flowAnalyze.R.

    * formatted NEWS file

Changes in version 0.99.0 (2016-08-25)
--------------------------------------

    * What's NEW? Everything so far!
