Version 3.4
===========

* 2015-05-05
 - fixed usage of sinpi() and alike in R older than 3.1.0 (reported by R-core team)

Version 3.3
===========

* 2015-04-10
 - fixed qlist() export in namespace (reported by Irucka Embry)
 - fixed drule example in Deriv-package manual and some other minor typos

Version 3.2
===========

* 2015-04-07
 - fixed date format in DESCRIPTION
 - reference to rSymPy in the package manual
Version 3.1
===========

* 2015-04-07
 - new syntaxe for the rule table to simplify rule writing (chain rule is implicite, non need for quote() calls)
 - added dbinom() and dnorm() to derivative table
 - sums are ordered alphabeticaly now
 - several bugs are fixed

Version 3.0
===========

* 2015-03-06
 - Added automatic differentiation (AD) of a code with intermediate assignements
 - Added optional expression caching (enabled by default)
 - Added new functions to rule table: abs() and sign(); special functions (beta(), gamma(), bessel() and co.; sinpi(), cospi(), tanpi(), atan2(), log1p(), expm1()
 - Added factorization of sum expressions
 - Added optional use.D parameter
 - In manual, added an example for compound function differentiation
 - If not provided, variable names are guessed from an expression to differentiate
 - If cannot be evaluted or evaluates to numeric type, the first argument of Deriv() and Simplify() is considered as a language expression
 - In unit tests, added comparison with an estimation by central differences
 - Fixed Deriv(`-`) call
 - Fixed Deriv(f) when f is of type .Internal()

Version 2.0
===========

* 2015-02-05
 - New derivative engine suppresses a need for helper functions like neg.sin()
 - Derivative table of differetiable functions is completed by trigonometric
    fucntions and their inverse as well as hyperbolic functions and their inverse
 - Derivative table admits different rules for a function called with different number of arguments. E.g., log() can be differentiated when called with one or two arguments. In the latter case, the base which can be constant or variable, is different from exp(1))
 - New syntax in derivative table facilitates adding user defined functions
    to differentiate. The same function can have several rules of
    differentiation depending on the number of arguments at the call moment
 - Deriv() is now the only entry point for all expressions to derive. No more need for Deriv.function() which is suppressed
 - It is now possible to pass primitive function as first argument, e.g. Deriv(sin)
 - In addition to previously possible differentiation of functions and expressions, the argument to differentiate can be submitted as
  * character string, e.g. '"x**2"'
  * right hand side of a formula, e.g '~ x**2'
  * quote() call, e.g 'quote(x**2)'
 - Power expression can be differentiated with symbolic power, e.g. 'x**n' or 'x^n'
 - Simplifications are pushed further for rational expressions (i.e. having terms united by '*' and/or '/'), all numeric terms are explicitly calculated and identical terms in numerator and denominator are simplified, identical factors are regrouped in a power term.
 - Simplifications are pushed further for linear combinations where
    identical terms are grouped in one term and their numerical coefficients
    are summed.
 - Added some simplifications for log(), exp(), power function, sqrt() and abs()
 - Some unit tests are added for Deriv() and Simplfy() (based on testthat package)

Version 1.0
===========

* 2014-12-10
 - Andrew Clausen passed the maintenance to Serguei Sokol
 - Serguei Sokol has fixed a bug in simplification of "a-b"
 - revamped the documentation and code as an R package
 - put the code to GitHub https://github.com/sgsokol/Deriv
 - submitted the package to CRAN

* 2009-2-21 Mark Reid's patch

* 2007 Andrew Clausen has written an original code Deriv.R and Simplify.R
 distributed on his site https://andrewclausen.net/computing/deriv.html
