NEWS
====

Versioning
----------

Releases will be numbered with the following semantic versioning format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

* Breaking backward compatibility bumps the major (and resets the minor
  and patch)
* New additions without breaking backward compatibility bumps the minor
  (and resets the patch)
* Bug fixes and misc changes bumps the patch


numform 0.5.1 - 0.6.0
----------------------------------------------------------------

BUG FIXES

* `f_denom` functions did not properly handle scientific notation.  Spotted by
  Wilfried N'Guessan (see #23).

NEW FEATURES

* `f_text_bar` added to convert numeric vectors into an ASCII horizontal bar
  plot representation.

MINOR FEATURES

* `f_denom` picks up a functionality to the 100 trillions.

IMPROVEMENTS

* The sub-expression '(NaN|NA|Inf)' added to additional numeric
  (`additional.numeric` argument) of the `allignment()` function.

CHANGES



numform 0.4.1 - 0.5.0
----------------------------------------------------------------

BUG FIXES

* Functions that enable the argument `less.than.replace = TRUE` would result in
  the wrong solution if the input value was negative.  This has been corrected.

* `f_quarter` didn't respect the `space` or `max` arguments for some methods.

* `alignment` failed to align correctly if there were leading spaces.

NEW FEATURES

* `highlight_cells` added as a quick and dirty way to add cell font highlighting.

* The `collapse` and `glue` functions from the **glue** package are reexported
  for easy string manipulation.

* `f_bin` (a.k.a. `f_interval`) added for turning `"[3,5)"` form from `cut` into
  a more human readable for.  There are several different forms of `f_bin` so
  use `?f_bin` to see them all.

* `fv_percent_lead` added to work similar to `fv_percent_diff` but using the
  formula T_n/T_n-1.

* `fv_percent_lead_fixed_relative` & `fv_percent_diff_fixed_relative` added in
  order to compute `fv_percent_lead` & `fv_percent_diff` but keeping the
  comparison year as a constant rather than using the prior year in the vector
  of elements.

* `f_data` and friends (see `?f_data`) added to convert between data units.  For
  example, move from  10,000,000,000 (Bytes) to 10GB (Gigabytes) instead.

MINOR FEATURES

* `f_denom` family of functions picks up a `less.than.replace` argument to
  replace values that say zero with a less than sing followed by a one and then
  the denomination.  For example, in `c(2, 1234)` the digit 2 becomes "<1K".

* `f_denom` picks up a `mix.denom` argument to allow for the mixing of
  denominations.  This is useful for tables with a total row that is a
  denomination higher than the rest of the column.

* `f_pp` added to lower typing on `f_prop2percent(digits = 0)` (a commonly used function and setting) and to also change
  the default digits value to 0 as is typically used in plotting.

* `constant_weekdays_abbreviation` added to provide an abbreviated form of
  weekdays.

* `f_month_name` & `f_month_abbreviation` added to convert to full name and
  3 letter abbreviated month formats.

* `f_weekday_name` & `f_weekday_abbreviation` added to convert to full name and
  3 letter abbreviated weekday formats.


CHANGES

* The argument `less_than_replace` in `f_prop2percent` & `f_percent` has been
  replaced with `less.than.replace` to make dot case consistent for arguments
  across the package.




numform 0.3.1 - 0.4.0
----------------------------------------------------------------

BUG FIXES

* `f_12_hour` did not format correctly if the vector contained missing (`NA`)
  values; see issue #12.

NEW FEATURES

* `f_year`, `f_12_hour`, `f_month`, and `f_weekday` (methods based functions)
  did not previously have closure, function retuning, forms (i.e., `ff_` form)
  making them inconsistent in usage.  These functions all have a closure, function
  returning, form.

* `f_quarter` added for working with business quarters.

* `f_degree` and friends (`f_latitude`, `f_longitude`, `f_fahrenheit`, &
  `f_celcius`) added for working with degrees in scales and tables.

MINOR FEATURES

* `f_wrap` picks up an `equal.lines` argument to add additional lines to make
  each element have the same number of new line characters.  This is useful for
  legend spacing.

* `f_wrap` picks up a `collapse` argument to `paste` + `collapse` a vector before
  processing.  This is useful wrapping subtitles or other longer text blocks.

* `f_title` picks up an `upper` and `lower` argument to allow the user to supply
  a vector of regexes to force to be upper/lower regardless of title case.




numform 0.0.6 - 0.3.0
----------------------------------------------------------------

NEW FEATURES

* `f_affirm` and `f_logical` added to convert logical and dummy values into
  yes/No or True/False strings respectively.

* alignment` added to easily align columns in table formatting functions from
  add-on R packages which may be confused by **numform**'s conversion of numeric
  to character class, though right table alignment should be maintained.

* `f_date` and `f_12_hour` added to convert dates and times into common in-text
  form.

* `f_replace` added as a ggplot2 scale `gsub` convenience function.  Defaults
  to replace '_' with ' '.

* `f_title` added as a ggplot2 scale `tools::toTitleCase` convenience function.

* `f_wrap` added as a ggplot2 scale `strwrap` + `paste(collapse =TRUE)`
  convenience function.

* `f_state` added for converting state names to their abbreviated form for plots.

* `f_year` added as a ggplot2 scale to convert to 2 digit year form convenience
  function.

* `f_abbreviation` added for converting string names to their abbreviated form.

* constants added for weekdays, months, and month abbreviations in order to make
  factor conversion of levels easier.  See `?constant_months` for more.

MINOR FEATURES

* `f_sign` picks up `negative` and `positive` assignments allowing for more
  control in format (previously +/- were assigned).  This enables the ability to
  give other characters tailored for document formats such as html, LaTeX, etc.

* `f_prop2percent` and `f_percent` pick up a logical `less_than_replace`
  argument that replaces values lower than this with a less than sign and the
  cut point specified by the `digits` argument.

CHANGES

* `f_denom` now returns `x` if the `max` < 1K.



numform 0.0.1 - 0.0.5
----------------------------------------------------------------

Format numbers for publication; includes the removal of leading zeros,
standardization of number of digits, addition of affixes, and a p-value
formatter.  These tools combine the functionality of several 'base' functions
such as paste(), format(), and sprintf() into specific use case functions that
are named in a way that is consistent with usage, making their names easy to
remember and easy to deploy.
