1.3.0 | 2022-04-19

* Adds discrete variant which works (as the name suggests) on
  discrete data (as opposed to continuous data) and skips the
  randomised discretisation procedure entirely. A dedicated
  ComputeMaxInfoGainsDiscrete and ComputeInterestingTuplesDiscrete
  functions are provided for this purpose. The current limitation
  is that all variables must have the same cardinality.

* Adds decisionless mode -- to allow to compute entropy and mutual
  information using the same engine. To compute these, leave the
  decision parameter NULL.

* Restores ability to not set I.lower in ComputeInterestingTuples and
  thus also to search for higher-dimension interesting tuples.

* Removes legacy undocumented fallback to "guessed" pc.xi (when it was
  explicitly set to NULL) as it conflicted with our recommendation.

* Improves validation of input.


1.2.0 | 2021-02-09

* IG threshold equal 0 (the new default value) or below means that there
  is no threshold filtering applied.
  Some IG results might be negative due to logarithm rounding and they
  are passed unchanged and unfiltered to the user now.
  Any positive IG threshold filters normally like it did before.

* Unfiltered tuple IG computation uses an optimised procedure now
  which is considerably faster.
  Speedup ratio is a logarithmic function of the number of variables.
  This brings tuple IG computation's performance close to that of the
  max IG.

* The optimised tuple IG computation procedure allows now to return the
  IG matrix directly.

1.1.1 | 2021-01-21

* Fix compilation on GCC 11.

1.1.0 | 2021-01-06

* Interesting tuples functionality was largely redone. It is now limited
  to 2D and requires inputting 1D IG. However, the results are now
  interpretable.

* Ability to output minimum IG per tuple instead of only maximum.
  NB outputted IG is still maximized over discretizations.

* Minor optimizations.

1.0.5 | 2019-11-10

* fix CUDA failure (issue in linking)

1.0.4 | 2019-10-27

* add function to discretize interesting variables for inspection

* "return.tuples" parameter now also controls returning of relevant
  discretization numbers

* change optional parameter "pseudo.count" name to "pc.xi" to better reflect
  its effect

* fix "interesting.vars" parameter to not require being sorted

* add "require.all.vars" parameter

* optimize IG computation on CPU (up to 4x speedup)

1.0.3 | 2018-11-07

* add note about recommended FDR control method

* fix a possible memory error introduced in 1.0.2 (mismatched new/delete[] operators)

1.0.2 | 2018-10-31

* improve default range estimation

* allow overriding pseudo.count in MDFS function

* set default p.adjust.method to default p.adjust method ("holm")

* set default level to suggested FWER level (0.05)

* fix CUDA version to not abruptly exit R on error

* fix use.CUDA=T in MDFS function

1.0.1 | 2018-06-26

* fix factors as input decision in ComputeMaxInfoGains,
  ComputeInterestingTuples and MDFS

* fix adjusted.p.value in MDFS

* return statistic and p.value in MDFS
