opm 0.10-0
----------

Bug fixes:

- fixed two bugs in batch_opm()

- fixed bug in reading of old-style CSV with certain headers

- fixed bug causing YAML maps to be order-dependent in some cases

- to_kmeans() is now compatible with R > 3.0.1

- NA values in YAML are now compatible with yaml >= 2.1.7

- method dispatch of `metadata<-`() is now unambiguous

Significant user-visible changes:

- removed deprecated select() function

- well_to_substrate() is now deprecated

- changes in the arguments treatment of listing()

New features:

- novel as.data.frame() methods, novel substrate_info() and find_position()
  methods for OPM and OPMS classes

- novel arguments for extract(), extract_columns(), opm_mcp(), do_disc(),
  batch_collect(), batch_opm(), run_kmeans(), substrate_info(), to_yaml() and
  listing()

- many additions and some corrections in the stored substrate information, as
  well as nicer and richer display of find_substrate() and substrate_info()
  results

- automated cleaning of character-string well names used for indexing

- more opm_opt() entries

- more more command-line options for 'run_opm.R'


opm 0.9-1
---------

Bug fixes:

- xy_plot() now works with missing negative-control wells (warning only)

- aggregated() now returns the correct object for all argument combinations

- do_disc() now allows best-cutoff approach with 'groups=FALSE'

Significant user-visible changes:

- batch_opm_to_yaml() is now deprecated in favour of batch_opm()

- the extract() method for data frames now works differently

- the '-a' argument of the 'run_opm.R' script now works differently

- three additional package dependencies, and dependency on newer versions of the
  grofit package and of R itself

- it is now an error if more than a single core is requested but this is
  impossible (as, e.g., under Windows).

New features:

- three novel spline-fitting methods for estimating curve parameters, all of
  which optimized for PM data

- novel opm_mcp() function for multiple comparisons of means applied directly
  to OPMS objects

- novel extract() method for data frames for calculating means and confidence
  intervals from observation groups (for plotting with ci_plot())
 
- listing() can now generate HTML-formatted text describing positive/negative
  results

- do_disc() could now discretize any of the four curve parameters

- indexed assigned has been introduced for OPMS objects

- indexing wells now works with formulas, too, allowing for sequences of well
  coordinates

- the infix operators can swap the arguments, and also work with formulas, just
  as subset()

- opms() now normalizes plate-type names if used as 'group' argument

- in addition to YAML, JSON can be produced (a subset of YAML that is understood
  by proper JSON parsers)

- new expression methods for metadata mapping

- new map_metadata(), to_metadata() and `metadata<-`() methods

- new arguments and/or options for ci_plot(), radial_plot(), opm_opt(),
  param_names(), file_pattern(), opm_files(), safe_labels(), plate_type(),
  substrate_info()

- batch_opm() replaces batch_opm_to_yaml() with more arguments and more output
  options (JSON and graphics files)

- support for three more plate types

Other changes:

- much extended vignette

- improved documentation in the manual

- new directory with example code


opm 0.8-0
---------

Bug fixes:

- bug fixes in flatten() ('strict' argument) and safe_labels()

Significant user-visible changes:

- the yaml package is now mandatory

- select() is deprecated in favour of subset()

- the disc_settings() and aggr_settings() entries have other content, and older
  objects stored using save() or in .RData files are only partially compatible;
  conversion of OPMX objects to a list and back fixes this (done automatically
  for stored YAML files)

- opm_opt() is more restrictive regarding the data type of its labels

- extract_columns() and extract() are more restrictive regarding their
  'as.labels' and 'as.groups' arguments; this effects all methods that are 
  based on them, such as xy_plot(); as a rule: use a list as 'include', 
  'as.labels' or 'as.groups' argument
  
- the meaning of the 'prefer.char' argument to phylo_data() has been changed

New features:

- added support for ECO, SF-N2 and SF-P2 plates (Microstation plates)

- added listing() method for OPMX objects for generating textual descriptions
  of the discretized reactions

- novel html_args() function (helper method for phylo_data())

- gen_iii(), read_opm() and batch_opm_to_yaml() now support more plate-type
  changes

- read_opm() and 'run_opm.R' can be adapted to distinct input file encodings

- more options to be set by opm_opt(), and more functions (by default) modified
  by them

- more arguments of batch_opm_to_yaml(), wells(), plate_type(), csv_data(),
  phylo_data(), substrate_info() 

- improved output of the summary() methods of OPMX objects, of
  substrate_info() (e.g., MeSH IDs), of phylo_data() (better HTML) and of
  opm_files() ('auxiliary' files)

Other changes:

- improvements of the package URL (http://opm.dsmz.de/), the stored substrate
  information, the documentation and the unit tests


opm 0.7-0
---------

Bug fixes:

- fixed bug in metadata-file handling of 'run_opm.R' script

Removed features:

- listing(), max_rgb_contrast(), paper_size() and mypdf(), as well as a series 
  of internal functions, moved to 'pkgutils' package; data set 'vaas_et_al' 
  moved to 'opmdata' package; some arguments of run_kmeans() removed

Other user-visible changes:

- dependencies on 'pkgutils' and 'Ckmeans.1d.dp' packages

New features:

- novel OPMD class and according novel functions do_disc(), has_disc(), 
  discretized() and disc_settings(); extract() can now also get discretized
  data

- novel unique() method for OPM and OPMS objects

- enhancements in phylo_data(), discrete(), map_values(), summary(), sort(),
  select(), duplicated() and anyDuplicated()

Other changes:

- opm vignette was included as tutorial

- some improvements in the documentation in the manual


opm 0.6-0
---------

Bug fixes:

- fixed bug in xy_plot() that caused 'space' to overwrite 'legend.fmt'

- fixed bug in matrix method of do_aggr() causing lists to occur within data 
  frames

- corrections of some substrate names

Other user-visible changes:

- default color set of xy_plot() changed to 'w3c' (because it contains more 
  colors than 'nora')

New features:

- novel functions: substrate_info(), opm_opt(), mypdf(), best_cutoff()

- novel methods for OPM(S) objects: rev(), rep(), sort(), duplicated(),
  anyDuplicated(), sort()

- more arguments for: level_plot(), ci_plot(), merge(), find_substrate(),
  file_pattern(), batch_process(), batch_collect()

. improved behaviour: separate() in 'list.wise' mode, glob_to_regex(),
  `metadata<-`() if data frames with a single column are supplied


opm 0.5-0
---------

Bug fixes:

- fixed 'run_opm.R' bug causing an error in conjunction with '-r template', and 
  bug causing '-s' to be ignored in conjunction with '-r template'

Other user-visible changes:

- normalize_plate_name() has been removed; it is replaced by the novel
  character (and factor) methods for plate_type()

- specific show() method for OPM and OPMS objects

- changed to lazy loading of the datasets (suggestion by Benjamin Hofner)

- `[` was modfied to remove incompatibilties with the 'Matrix' package (which
  IMHO uses setMethod("[", ...) in other ways than specified in the
  documentation of `[` in the base package) (problem noticed by Benjamin 
  Hofner)

New features:

- metadata manipulation is now easier due to the novel formula-based methods
  for metadata()<- and map_metadata() and the novel OPMS/data frame methods
  for metadata()<-

- plotting functionality for 'run_opm.R'

- summary() for OPMS objects is more detailed

- novel plates() methods for lists and OPM objects

- duplicate() and anyDuplicated() get a 'what' argument allowing not only the 
  detection of duplicate OPM objects but also of duplicates of selected 
  components only

- novel contains() method for OPMS objects, and arguments to all contains()
  allowing fine control of strictness

- added factor methods for find_substrate(), find_positions(), glob_to_regex()
  `metadata<-`() and the infix operators; metadata() now betters supports
  factors as keys

- separate() now automatically selects multi- vs. single-character splitting 
  modes if split is a non-empty character vector, and it has a novel 'list.wise'
  argument

- run_kmeans() and do_aggr() methods for matrices


opm 0.4-0
---------

Bug fixes:

- fixed bug in the OPMS method of merge() that caused it to crash with plates
  with unequal numbers of time points

New features:

- added full citation information (first paper on opm) :-)

- radial_plot() and sort() methods for OPMS objects

- phylo_data(), heat_map() and radial_plot() methods directly for OPMS objects

- extract(), select(), discrete() and phylo_data() methods for data frames

- phylo_data() has been enhanced: added export in Hennig86 format for TNT; added
  vector-based merging of rows via the 'join' argument; improved HTML output; 
  added 'run.tidy' option for reformatting the generated HTML with HTML Tidy;
  added 'delete' argument

- for the 'A' parameter estimated using 'opm-fast', CIs that cannot be 
  calculated because the values are constant are not set to NA anymore but to 
  that value

- annoying messages when calling require() for gplots have been silenced

Other changes:

- added the remaining so far missing OPMS-method documentation entries and 
  improved the format of the references

- added example file from a run in identification mode


opm 0.3-3
---------

Bug fixes:

- fixed some testing problems that caused the tests to fail with the novel R 
  for Windows

New features:

- novel methods for the automated discretization of curve heights into 
  positive (+), weak (w) and negative (-) and the subsequent generation
  of reports in HTML for taxonomic journals such as IJSEM; accordingly, quite 
  a few novel helper functions for k-means based discretization: to_kmeans(),  
  borders(), calinski(), and, of course, run_kmeans()

- novel arguments to read_opm() (automatically assorting according to the 
  plate type); similar novel option for opms() to recognize plate types and
  construct OPMS objects separately, or select those with a certain plate type

- redundancies in input plates with 'OTH' as plate type (from runs in 
  identification mode) are now automatically removed

- novel merge() method for OPMS objects, i.e. a function for merging plates 
  from subsequent runs of the same physical plate (of interest for slowly
  reacting organisms)

- map_values() and map_names() have been considerably extended

- novel 'digits' argument to listing(), novel 'pad' argument of safe_labels(),
  novel 'keep.const' and 'simplify' arguments to separate()

Other changes:

- some further improvements of the documentation


opm 0.2-0
---------

Bug fixes:
 
- fixed bug that caused xy_plot() to crash if 'theor.max' was set to FALSE
 
New features:

- novel filename(), aggr_settings(), duplicated(), anyDuplicated(), seq() and 
  oapply() methods for OPMS objects

- novel map_names() and map_values() methods (e.g., for data frames)

- novel separate() function
 
- 'coerce = TRUE' option for map_names(), map_values(), map_metadata() and 
  metadata_chars()

- novel 'include' argument to split_files()

- novel 'plain' argument for do_aggr()

- file input now automatically changes 'OTH' to generation-III plate type

- improved the 'remove.csv.data' behaviour of include_metadata() (the default 
  keys were always removed, and 'remove.csv.data' had a distinct effect)

Removed features:

- curve_params() has been deleted (functionality now integrated in do_aggr())

Other changes:

- many improvements of the documentation
  
- the 'coerce' argument of map_metadata() and metadata_chars() has been renamed
  to 'classes' (to make this uniform)

- 'remove.csv.data' argument of include_metadata() was renamed to 
  'remove.keys',  'stop.on.error' to 'skip.failure' (with the reverse meaning,
  but the default behaviour remains the same)

- changed 'gplots' to default of 'use.fun' argument of heat_map()


opm 0.1-25
----------

- fixed some problems that caused the tests to crash on Windows and Solaris


opm 0.1-24
----------

- initial release to CRAN
  
  
