+ fixed a bug with greater than or equal operator

+ Export to XHTML converts the whole document into a XHTML file

+ implemented integral of f(a+b*x) where f=trigonometric function

+ the simplifier avoids using the trigonometric identities

Changes between 1.0_02 and 1.0_03:

+ avoided simplifying log(exp(x)) to x

+ FileReader not closed : fixed

+ can parse an EquationOrExpression with equal sign

Changes between 1.0_01 and 1.0_02:

+ subclasses of GenericVariable made non-public

+ subclasses of MultivariatePolynomial made non-public

+ implemented MultivariatePolynomial.divide and remainder

+ polynomial.remainderUpToCoefficient()

+ 81^(1/4) (expand) fails : fixed

+ some number-theoretic functions : modpow, modinv, eulerphi, primitiveroots

Changes between 1.0 and 1.0_01:

+ (1+x-x^5)*(1-x+x^5) (expand) (factorize) fails : fixed

Changes between 1.0rc4 and 1.0:

+ a test suite for substitutions

+ some groebner benchmark timings

+ geometric product and differential operator (Feature Request item #890925)

+ fixed the quaternion product

Changes between 1.0rc3 and 1.0rc4:

+ an exception is thrown when multiplying matrices without matrix() (Bug item #869813)

+ computation of nth roots

Changes between 1.0rc2 and 1.0rc3:

+ a new Generic type which inherits from Arithmetic

+ Arithmetic limited to the 4 arithmetic operation and becomes an interface

+ polynomial.reduceCompletely() becomes polynomial.reduce(completely)

+ overloaded comparison and arithmetic methods

Changes between 1.0rc1 and 1.0rc2:

+ added a command mode launcher : bin/jscl

+ symbolic parameters allowed in matrix etc. operators

+ a change of reduction strategy improves groebner performance

Changes between 0.99 and 1.0rc1:

+ file opening via drag and drop

+ fixed a mistake with anti/derivative of conjugate()

Changes between 0.98 and 0.99:

+ a conjugate() function

+ tested to work on jdistro

+ bug with scrollbar when resizing fixed

+ (2+2*x+y)*(2+x+2*y) (expand) (factorize) ClassCastException : fixed (Bug item #851149)

Changes between 0.97 and 0.98:

+ pseudo-NumericWrapper to enable latest version on MIDP

+ used mfenced mathml tag

+ a mathml to tex conversion howto (see docs)

+ various improvements

Changes between 0.96 and 0.97:

+ separated Numeric from Arithmetic

+ separated UnivariatePolynomial from MultivariatePolynomial

+ groebner() returns a vector

+ graphing (see examples)

Changes between 0.95 and 0.96:

+ fixed a performance problem with the factorization

Changes between 0.90 and 0.95:

+ java code generation

+ matinv replaced by 1/matrix

+ expand evaluates the functions

+ a numeric package

+ a nested polyonmial

Changes between 0.80 and 0.90:

+ numerics (except on MIDP which doesn't support floating point)

+ formalized the type conversions

+ complex and quaternion products

+ jacobian, laplacian

+ moved vector/matrix/product operations into a package of their own

Changes between 0.77 and 0.80:

+ the simplifier knows of some additional trigonometric identities

+ factorization code improved

+ Polynomial no more inherits from Arithmetic and becomes abstract

+ a new MultivariatePolynomial class

+ an own zaurus software package

+ fixed a bug with hyperbolic function names

+ added abs, sgn

+ added div, mod

+ renamed divg as diverg

+ implemented matrix inverse

Changes between 0.76 and 0.77:

+ developed some junit tests

+ replaced coef() by solve()

+ created a new Rational type

+ added kth-elimination ordering

+ changes in groebner() syntax and implementation

+ simplification improved

+ removed Factorized*, OptimizedExpression

+ moved trigonometric/hyperbolic functions into a package of their own

+ changed ch, sh, th, argch, argsh, argth into cosh, sinh, tanh, acosh, asinh, atanh

+ put parser/format related code in jscl.text package

+ "modified" status of the awt editor should now behave correctly under j2me-pp1.0

+ the factorization is recursive

+ fixed a limitation of antiderivative() with respect to integral+expand()

Changes between 0.75 and 0.76:

+ (3+x)*(4+x) (expand) (factorize) not working : fixed (Bug item #736503)

+ made use of the Java Collections Framework data structures

+ stopped using NotDivisibleException in monomial divisibility checks, resulting in performance improvement

+ a new distribution for Personal Java (jdk1.1) devices : meditor-pjava

Changes between 0.74 and 0.75:

+ FileNotFoundException's taken into account

+ (1+x)^(1/x) (simplify) infinite loop fixed

+ (1-x+x^5)^2 (expand) (factorize) = (1-x-a4*x^4+x^5)*(1-x+a4*x^4+x^5) fixed

+ packages renamed and re-organized

Changes before 0.74:

Jan 20 2003 integral(x/(1+x)^2,x) = 1/(1+x) fixed

Jan 13 2003 Expression and Variable.valueOf(String) throw ParseException

Nov 1 2002 integral(x/(x^3+1),x) NullPointerException fixed

Oct 12 2002 computations execute in a separate thread

Oct 8 2002 Ctrl+Z = Undo, Simplify = Ctrl+Q

Sep 21 2002 separated elementary function decomposition from simplification

Sep 7 2002 changed the notation for partial derivatives

Jun 7 2002 integral(x+7/5,x) = x*(7+5*x)/5 fixed

Jun 5 2002 Inv inherits from Frac

May 20 2002 "!" instead of fact, "^" instead of pow

Apr 20 2002 changed Arithmetic from interface to abstract class

Mar 29 2002 translated the whole API into english

Mar 8 2002 port on midp1.0

Mar 2 2002 renamed divergence as divg

Feb 18 2002 the modulo is a parameter instead of being global

Feb 16 2002 used "/" instead of inv and frac

Jun 11 2001 port on jdk1.3/swing

Mar 18 2001 added an undo command

Mar 11 2001 grammar simplification

Jan 24 2001 the classloading of Variable used to fail in modular mode : fixed

Jan 7 2001 runtime exceptions are handled at GUI level

Dec 7 2000 only one menu command ("expand") and associated syntax changes

Dec 3 2000 important syntax changes toward compatibility with other software

Nov 29 2000 several GUI bug fixes