# $Id: CHANGES,v 1.1546.2.54 2007/03/27 15:16:36 kb Exp $
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/

Done for version 2.3.2 (released 28/03/2006):
[last column crossreferences current development release 2.4.1]
  Fixed
    1- [Cygwin] missing -L... -lgmp when compiling with gmp.              [F2]
    2- ispower(522^3) -> 0 [ looked like a 7th power to is_357_power(), which
       then forgot to test for cubes ] [#506]                             [F3]
    3- when nf.disc < 0, nf.diff was an incorrect PARI ideal [#510]       [F6]
    4- nf.codiff was only correct up to multiplication by some rational   [F7]
       number (a divisor of nf.disc) [#510]                              
    5- inaccuracy (>= 2ulp) in [cached] log(2) [#498]                     [F8]
    6- exp, sinh, asinh, tanh, atanh were inaccurate near 0               [F9]
    7- [GMP kernel] forvec(x=[[-1,0]],print(x)) --> error [#509]          [F10]
       [ 'resetloop' failed when passing through '0' ]
    8- nfbasistoalg(nfinit(y),x) created an invalid t_POLMOD              [F11]
    9- incorrect result in ZX_resultant (accuracy loss computing bound)   [F12]
   10- [Configure] gcc-specific flags were used on linux/freebsd/cygwin,
       even when __gnuc__ was unset                                       [F14]
   11- factor( pure power FqX ) --> SEGV                                  [F15]
   12- [GMP kernel] polrootsmod(f, 4) --> wrong result [ low level t_INT  [F16]
       manipulation not using the int_* macros ]
   13- polrootspadic(f, 2, r) --> some roots would be found twice         [F17]
       [ due to FpX_roots(f, 4) called ]  [#521]
   14- ??sumalt doesn't compile: in GPHELP, treat \ref in verbatim        [F18]
       mode[#518]
   15- matinverseimage returned [;] when no pre-image exists. Conform to  [F20]
       the docs: "an empty vector or matrix", depending on the input types.
   16- 3.5 % 2 --> error [ should be 0.5 ]                                [F22]
   17- sin(1/10^100) --> 0e-28 [ also affected cos,tan,cotan ]            [F23]
   18- check that k >= 0 in thetanullk [#531]                             [F26]
   19- isprime(-2,1) returned 1                                           [F27]
   20- Fix 'Not enough precision in thue' error                           [F28]
BA 21- [OS X] Fix kernel detection on x86_64-darwin                       [F29]
BA 22- [Configure] spectacular failure to recognize gcc under some locales[F34]
   23- polredabs(x^8+2*x^6-5*x^4+78*x^2+9) was incorrect [ missed
       x^8+6*x^6-x^4+54*x^2+25 due to incorrect "skipfirst" ]             [F35]
   24- typo in resmod2n (specific to GMP kernel) [#546]                   [F36]
   25- nfmodprinit could create FpX's which were not reduced mod p        [F40]
   26- O(x^3)^(1/2) was O(x^2) instead of O(x)                            [F41]
   27- substpol(x^-2+O(x^-1),x^2,x) --> error [#555]                      [F43]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Done for version 2.3.1 (released 06/10/2006):
[last column crossreferences current development release 2.4.0]
  Fixed
    1- typo in remiimul: wrong result in a "failsafe" branch (hardly ever
       taken). May affect modular powering /Fp if p >> 10^1300 [#457]
       Also affects the gmp kernel, for p >> 10^5800.                     [F1]
    2- inconsistent return type in nffactormod [#460]                     [F3]
    3- gammah(1+O(3^5)) --> incorrect type in ggamd.                      [F8]
    4- invalid read in copy_leaf [ SEGV in some libc ]                    [F9]
BA  5- ellheight short help was accidentally truncated.                   [F10]
    6- substpol(1+O(x^(2*n)),x^2,x) --> 1+O(x) instead of 1+O(x^n) [#470] [F11]
    7- [OS X] only use -no-cpp-precomp with Apple cc                      [F12]
    8- divrem(x,x,y) --> [1/y*x, 0]                                       [F13]
    9- typo in qflll: in rare cases (exact input+floating point computation+
       precision increase in last-but-1 step), the returned base change is not
       properly updated in last iteration --> basis not LLL-reduced       [F15]
   10- (1+x)/(1-x)/(1+x)^2 not simplified [#472,#473]                 [F14,F16]
   11- ispower(x^k, k) would answer 0 for some x and k in {3,5,7}  [#476] [F17]
   12- content(t_MAT with exactly 1 col) gave a wrong result              [F18]
   13- rare bug in red_montgomery (returning 0 with + sign, an incorrect object)
       [ polrootspadic(x^11+x,11,10) --> corrupts gen_0 ]                 [F20]
   14- qfbsolve(Qfb(1,2,10),5) --> [0,0; 0,0] instead of 0 [#479]         [F21]
   15- ispower(0, n, &z) would not set z                                  [F22]
   16- wrong result in conversion t_QUAD -> t_PADIC whenever disc = 1 (4) [F23]
JJ 17- gaddgsz macro was wrong [#481]                                     [F24]
   18- polsubcyclo(p^k, q) --> wrong result [ gener_Fl(p^k) can't handle
       k > 1, use gener instead ] [#480]                                  [F25]
SC 19- [GMP] mp_set_memory_functions was called with an incompatible realloc 
       function. [#484]                                                   [F26]
AM 20- [TeXmacs] typo in texmacs_output: x --> <bluex> [#491]             [F30]
BA 21- bnrstark prototype code was non-standard.                          [F34]
   22- rnfkummer(,,degree) often found too many fields [#482]             [F35]
   23- missing GC in forvec(,,2)                                          [F37]
   24- loss of accuracy in p-adic ellinit: wrong digits and spurious errors:
       E.g i = 5; ellinit([1, -1, 1, -1, -14]*(1+O(17^i)))                [F36]
   25- possible stack corruption in charpoly(,1)                          [F39]
   26- Ser(x) raised an error [#499]                                      [F40]


  Changed
    1- remove CPP from Configure tests                                    [C3]
