File: CHANGES-2.8

package info (click to toggle)
pari 2.9.1-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 18,264 kB
  • ctags: 16,155
  • sloc: ansic: 203,761; sh: 853; perl: 376; yacc: 202; makefile: 129
file content (803 lines) | stat: -rw-r--r-- 45,114 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
# $Id$
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/

Done for version 2.9.0 (released 1/11/2016):
  Fixed
    1- idealappr: allow flag for backward compatibility
    2- nfisisom(x,x^0) -> SEGV
BA  3- galoisgetpol: fix crash if some files are missing
BA  4- [libpari] fix support for PARI_OLD_NAMES

Done for version 2.8.1 (released 23/10/2016):
  Fixed
    1- nfroots(non-monic t_POL) => wrong result [#1841] [from 2.8.0]
    2- crash on BIB in ellpointtoz(t_PADIC) [#1840]
    3- nfisideal(nfinit(x^2+1),[1,0;0,2]) -> 1 instead of 0
    4- intnuminit(-oo,oo,1) -> error [#1847]
    5- idealstar([f_0,f_oo]) for f_oo t_VECSMALL (place selection) didn't work
    6- msinit objects could not be saved to file then read back in [from 2.8.0]
    7- wrong value for bnrrootnumber for non-primitive characters [#1848]
    8- allow znstar(N,flag) for idealstar(,N,flag)
    9- allow znlog(x,G) for G = znstar(N), instead of ideallog(,x,G),
       for DL wrt. G.gen; in addition to traditional znlog(x,g), where an
       arbitrary generator g is specified
   10- e=ellinit([1,-1,1,98,126],O(5^10)); ellpointtoz(e,[1,14]) -> div. by 0
   11- ellpointtoz(E / Qp, P) was not reduced mod q^Z
BA 12- [breakloop] changes done in the first-level breakloop were lost when
       leaving the second-level breakloop.
   13- polinterpolate could create illegal objects [#1837] (test-case by PB)
BA 14- [libpari] FqX_nbfact did not work
   15- incorrect change of variable in elllocalred over a number field for
       places dividing 6 [from 2.8.0]
   16- contfraceval([[],[]],1) -> SEGV [from 2.8.0]
   17- agm(1.0, 1.0*I + x + O(x^200)) -> oo loop [#1654]
   18- primepi(2750160) -> crash [#1855]
   19- polinterpolate([],[],Mod(1,3)) => 0 instead of Mod(0,3)
   20- subst(Pol(0),x,Mod(1,3)) => 0 instead of Mod(0,3)
   21- subst(Pol(1),x,Mod(1,3)) => 1 instead of Mod(1,3)
   22- e=znconreyexp(idealstar(,N),) could give a result with (e,N) = 2 when
       N = 2 (mod 4) [from 2.8.0]
   23- idealprincipalunits(,,1) not supported [ concat error ] [from 2.8.0]
   24- stack corruption in pollardbrent() at \g4 [#1858]
BA 25- fflog could crash in char 2. [from 2.8.0]
JD 26- is_universal_constant() made (possibly wrong) assumptions about memory
       layout (gen_0 < ghalf)
BA 27- lfundiv(L1,L2): division by 0 if L2[6] (rootno) is 0.
   28- inconsistent thresholds for zeta(2*n); e.g. at \p100000, zeta(22934)
       was much faster than zeta(22936)
BA 29- [pthread] fix race conditions that caused memory corruption
   30- rare SEGV in bnfisprincipal

  Added
    1- permtonum: allow t_VECSMALL input
    2- [libpari] Z_to_perm, perm_to_Z
    3- [libpari] checkprid_i, is_nf_factor, is_nf_extfactor
    4- extend ellissupersingular for E/nf
    5- added a tag Obsolete: to the RFC822 description system (pari.desc)
    6- new GP functions nfmodpr, nfmodprlift
    7- [libpari] get_arith_Z, get_arith_ZZM
    8- [libpari] Mod2, Mod4, Mod8, Mod16, Mod32, Mod64, umodi2n
    9- [libpari] logint, logintall
   10- [libpari] zk_inv, zkmultable_capZ, zkmultable_inv, nfC_multable_mul,
       zkC_multable_mul
   11- [libpari] Idealstarprk
   12- [libpari] ZpX_monic_factor
   13- [libpari] nf_to_Fp_coprime
   14- [libpari] idealprod, idealHNF_Z_factor
   15- [libpari] rnfcomplete, rnf_build_nfabs, bnf_build_cycgen,
       bnf_build_units, bnf_build_matalpha
   16- [libpari] rnf_zkabs
   17- [libpari] get_nf_field (black box field arithmetic over a number
       field nf), nfM_det, nfM_inv, nfM_mul, nfM_nfC_mul
   18- [libpari] bnftestprimes
   19- [libpari] upr_norm
   20- [libpari] bid_get_fact, bid_get_ind, bid_get_sarch, bid_get_sprk
   21- [libpari] qfbforms
   22- [libpari] nfroots_if_split
   23- [libpari] nfmaxord_to_nf, nfinit_basic, nfinit_complete,
       idealprimedec_kummer, nf_deg1_prime
   24- [libpari] ZNstar, znstar0, znlog0
   25- GP function znchartokronecker
   26- [libpari] ser_inv
   27- allow ellztopoint for E/Qp
BA 28- [libpari] F2x_factor_squarefree, F2xqX_factor, FlxqX_factor
BA 29- [libpari] FlxXC_to_F2xXC, F2xXC_to_ZXXC
   30- [libpari] pr_uniformizer, prV_lcm_capZ, pr_inv, pr_inv_p, pr_basis_perm
   31- [libpari] cmp_padic
   32- [libpari] ZV_snf_trunc, ZM_hnfmodall_i, ZM_hnfall_i, ZC_Z_div
   33- [libpari] uisprime_101, uisprime_661
   34- [libpari] lift_shallow
   35- [libpari] rowsplice
   36- GP functions bnflogef, bnflog, bnflogdegree, nfislocalpower,
       rnfislocalcyclo
   37- [libpari] varnmin, varnmax
   38- allow ellglobalred for E over a number field
BA 39- [libpari] FpXQX_split_part
BA 40- [libpari] ZpXQX_roots, ZqX_roots, ZqX_liftfact, ZqX_liftroot,
                 Zq_sqrtnlift
   41- [libpari] hash_dbg
   42- [libpari] Qdivii, ceildivuu
   43- GP function ellintegralmodel
   44- [libpari] ZM_hnf_knapsack, hnf_invscale
   45- [libpari] pol_xn, pol_xnall, retmkrfrac
   46- allow lindep(vector of t_VEC), lindep(vector of t_COL) [#1857]
   47- [libpari] famat_pow_shallow, famat_mulpow_shallow
   48- [libpari] modRr_safe
   49- [libpari] Z_ppo, u_ppo

  Changed
    1- remove useless flag in idealappr: directly allow factorization
    2- [libpari] idealappr0 is now obsolete: use idealappr
    3- replace qfbil(x,y,{q}) by qfeval({q},x,y) and qfnorm(x,{q}) by
       qfeval({q},x): it makes more sense to have q first, and a single
       function for qf+polar form (as in all other qf-like routines:
       ellheight, etc.)
    4- functions nfeltdivmodpr, nfeltmulmodpr, nfeltpowmodpr, nfeltreducemodpr,
       nfkermodpr, nfsolvemodpr are obsolete. Use nfmodpr, work in the finite
       field, then lift back using nfmodprlift.
    5- split off historical refcard in submodules basic, ell, lfun, mf, nf
    6- rewrite nfeltinv / nfeltdiv (use mult. table rather than polmod
       representation)
    7- idealred algorithm (find small y in I^(-1), not in I)
    8- bnf format (allow dynamically adding units): old bnfs will be detected
       as invalid. Dirty trick to force conversion: bnf[10]=vector(3);
    9- nfelt* functions may now return scalars (t_INT/t_FRAC) in addition to
       t_COL on nf.zk basis.
   10- remove flag = 2 in nfgaloisconj (slow, unreliable, obsolete for 15 years)
   11- bnfcertify(K): use automorphisms (speedup roughly #Aut_Q(K))
   12- idealstar format, to access data more conveniently (and avoid
       recomputations): old bid and bnr structures from versions up to 2.8.0
       are now invalid
   13- narchstar output: include finf in output
   14- set_sign_mod_divisor prototype: module is now useless (implicitly
       contained in sarch argument)
   15- [libpari] removed discrayabs, discrayabscond, discrayrel,
       discrayrelcond, discrayabslistlong: obsoleted since 2.0
   16- gcd(t_VEC/t_COL/t_MAT, ...) is now forbidden, same for lcm
   17- E/Qp: add sequence of isogenous curves  to structure (converges to the
       singular E_oo) => much faster ellpointtoz
BA 18- ZpX_liftfact no longer handles extensions of Qp, use ZqX_liftfact
   19- char_rootof1 renamed to rootsof1_cx, char_rootof1_u -> rootsof1u_cx
   20- gp --test: consider that the session is not interactive
BA 21- [libpari] rename listcreate to mklist
   22- [libpari] rename idealinv_HNF -> idealHNF_inv, idealinv_HNF_Z
       -> idealHNF_inv, idealmul_HNF -> idealHNF_mul
   23- [libpari] made famat_mul_shallow a true equivalent of famat_mul
   24- move 'install' tests from test-program to test-install target
   25- allow normlp(v, +oo)
   26- [documentation] removed .ps files (use dvips -o if you need them); install dvis

Done for version 2.8.0 (released 12/08/2016):

  Fixed
    1- make install fails on OS/X: ln -s libpari.dylib libpari.dylib fails
    2- Q_pvalrem(t_FRAC) => wrong result
    3- [] == 0 but []~ != 0  (now []~ == 0 as well) [#1560]
BA  4- test-kernel did not work when using --mt=pthread
BA  5- ellheegner was using too much memory in some case
    6- ellap can overflow on 32-bit machine [#1558]
       ellap(ellinit([582304190,64196421]),2147438927) -> overflow
       ellap(ellinit([-1137195,489565862]),2038074751) -> wrong result
    7- nfhilbert(K,x,y, P above 2) could give wrong results [#1561]
    8- rnfkummer sometimes failed to return an answer: error or oo loop.
       Relied on exhaustive enumeration of an Fp-vector space, some of
       whose elements would trigger an error. Replace by Fp-linear algebra
       that directly picks the correct line (O(d^3) algo instead of O(p^d),
       and no failures). Only compute the defining poly for the right element.
XR  9- padicfields(huge p, d) was very slow [even though ramification is tame]
   10- gcd(1/2, 1+I*1.) -> SEGV [#1563], 2.5.5 returned the wrong answer 1/2
   11- mathnf(t_VEC) could corrupt input (change sign)
   12- [libpari] RgM_transmul did not work
   13- [libpari] Fq_issquare didn't support T=NULL
   14- [libpari] nfpow_u didn't handle non-integral rational numbers
   15- eint1(0) -> stack overflow [#1568]
   16- liftint(List([0])) -> gerepile bug
   17- factorint(n,flag): flag was ignored when n fit into a long
   18- factor(n,lim): lim was ignored when n fit into a long
   19- nfrootsQ(t_POL with leading coeff -1) could miss some solutions, e.g.
       nfroots(,-y^2-24476*y+119814917) -> [] instead of [-28657,4181]
   20- precprime(1) -> invalid t_INT [#1576]
   21- gaffsg(0, t_PADIC): wrong valuation
   22- thue(f^e*g, ...), e even, (f,g)=1 missed solutions such that f<0
   23- faster znlog when p-1 has only smallish prime factors.
   24- (t_INTMOD with word-sized modulus)^(huge negative power) wrong [#1584]
   25- (gp -p N) or (primelimit=N in gprc_ for N >= 436273290 resulted in an
       incorrect primetable. N.B. Such commands are now useless: needed primes
       are produced dynamically anyway.
   26- monomial(exact zero, d, v) returned an invalid t_POL / t_RFRAC
   27- contfracpnqn(v, n) returned partial quotients p[-1]/q[-1] ...
       p[n-1]/q[n-1], instead of the documented p[0]/q[0] ... p[n]/q[n] [#1580]
   28- isprime(N, 0) was often slower than either of isprime(N, 1 or 2)
   29- factor((3+4*I)/25) -> factor 2+I had 0 exponent [#1586]
   30- made qfbclassno more reliable (fixes all counter examples in [#1411])
BA 31- iferr() could crash if some component of the t_ERROR were clones.
   32- nffactor() could overflow the stack when default accuracy too low: e.g.
       nffactor(y^2-22, x^2+926246528884912528275985458927067632*y-4344481316563541186659879867597013188)
   33- some elliptic curve functions accepted (elladd, ellmul) a Weierstrass
       5-uple [a1,a2,a3,a4,a6] instead of an ell structure. No longer.
       Now only ellinit and ellchangecurve allow this syntax.
   34- incorrect rounding in mulrr/divrr for one-word precision reals.
BA 35- multiif did not handle correctly return() in conditions [#1590]
   36- [0..5] -> [0,0,0,0,0] on some architectures
   37- is_gener_Fp could return wrong results
   38- Fq_sqrtn(t_INT,..,&zeta) could return a wrong root of 1
   39- bnfinit: SEGV due to precision issues [#1592]
   40- zm_zc_mul only worked for square zm matrices
   41- genus2red(0,27*x^5+97*x^4+118*x^3+60*x^2+13*x+1,3) -> bug msg [#1596]
   42- [gphelp] oo loop when $COLUMNS too small [#1594]
   43- genus2red(x,-x^6-3*x^4-10*x^2-1,3) -> impossible inverse [#1597]
   44- factoru(1) returned a t_MAT instead of the expected "matsmall" [#1598]
   45- FpM_charpoly wrong in small characteristic [#1602]
   46- Ser(Mod(0,2)) => incorrect object [#1587]
   47- Ser(Mod(1,2)*x^2,,4) => incorrect precision [#1587]
   48- Ser(x,v,prec < 0) => crash [#1587]
   49- The t_SER Mod(0,2) + O(x^n) was not handled properly [precision and
       valuation would change unexpectedly] [#1587]
   50- when compatible = 3; series() used a random precision
   51- genus2red(0,6*x^6+5*x^4+x^2+1,7) -> impossible inverse [#1597]
   52- isprime(2030967737887612953751815611955778057721609672149695775998900201419048774375002716065557720510887824952942799737911826638068045234238082640629966597954851668852106621828704531597859470496362810381251800973022824003330423370127762722630493369197869948901862977534730314352222720177713223750671181797)
       -> SEGV [#1604]
   53- genus2red(x^3+1,1) -> type error [#1597]
   54- gphelp did not handle === correctly [#1603]
XR 55- bnrL1(bnrinit(bnfinit(x^2-168),[6,[1,1]],1)) -> bug in ArtinNumber[#1601]
   56- FpXY_evaly() wrong when evaluating at 0
BA 57- [win32] gp could crash at start up [#1607]
   58- nfisincl(t_POL, t_POL) could lead to wrong negative results
   59- polresultant(1+x*z^2,1+y*z^4,z) -> GC error [#1614]
BA 60- ellcard over non-prime fields of large char could return wrong results
   61- [libpari] FpX_roots could produce GC errors [#1618]
   62- weber(1+I) was missing its imaginary part
   63- (1+I)*(1+1/2*I) => wrong result (type errors) [#1619]
   64- contfracpnqn([a]) => [1,a;0,1] instead of [a,1;1,0]
   65- primes([2^50, 2^50+200000]) => stack overflow
   66- issquare((x+1/2)^2,&z); z => 1.0*x+0.5 instead of x+1/2
   67- possibly wrong result in nfsnf
   68- possibly missing roots in nfroots (when using Trager)
   69- quadray(bnf, ideal) did not work
   70- thue(-14*x^3 + 10*x^2 + 63*x - 5,1) -> "short continued fraction" [#1629]
   71- thue(29*x^3+130*x^2-35*x-48,1) -> "round error" bug
   72- T=thueinit(10*x^3+6*x^2-41*x+8,1); thue(T,8) => SEGV [#1630]
   73- ellrootno(e,p = 2 or 3) when e not minimal at p => random result
   74- catastrophic cancellation in ellheight (at oo) [#1637]
   75- bnfnewprec could return a corrupt bnf structure:
        K=bnfinit(x^3-15667*x^2-88630960*x-1836105977032,1);
        bnfisprincipal(K,[29,14,15;0,1,0;0,0,1],3) -> oo loop
   76- agm(1,2+O(5)) -> SEGV [#1645]
BA 77- [cygwin64] ellap(ellinit([0,0,1,-1,0]),10007) broken
   78- primes([-5,5]) -> [5] (spurious absolute values)
   79- matqr([;]) -> crash
   80- Fp_rem_mBarrett could return a non-normalized result
       p=436^56-35;Mod(271,p)^((p-1)/2) -> p+1
   81- plotcopy would corrupt "string" objects (ROt_ST)
BA 82- [GP] default arguments to GP functions could cause corruption [#1658]
VBr83- [darwin] remove obsolete linker options that cause crashes [#1623]
   84- divisors([2,1]) -> SEGV                                    [#1664]
   85- acos([Pol(1)]) -> GC bug [#1663]
   86- matsolve(a,b) and a^(-1) gave wrong results [or SEGV] when t_MAT a
       was not square and a,b "modular" (F2m,Flm,FpM,FqM,F2xqM,FlxqM)
       same for x^(-1) [#1666]
   87- primes([1,Pol(2)]) -> SEGV [#1668]
   88- znlog(0,Mod(1,4),1) -> 0 (instead of [])
   89- polzagier / sumalt(,1) / sumpos(,1) were slow and used too much memory
   90- sumpos was wasting time when pre-computing \sum 2^e a(k*2^e) [ only
       needed for k odd, but was also done for k = 0 mod 4 ] + improve accuracy
   91- intnum(x=[0,-1/2],[oo,-3/2],1/(sqrt(x)+x^(3/2))) -> junk t_COMPLEX
       (more generally: one endpoint has an algebraic singularity and the
       other is +-oo, non-oscillatory
   92- intnum(x = [-oo,-3/2], [oo,-5/2], f(x)) --> loss of accuracy due to
       confusion between endpoint behaviours a/b in intnuminit data
       E.g. f(x)=(x<0,1/(1+(-x)^(3/2)), 1/(1+x^(5/2)));
   93- intnum(x = [-oo,-3/2], [oo,-5/2], f(x)) --> loss of accuracy due to
       confusion between endpoint behaviours a/b in intnuminit data
       E.g. f(x)=(x<0,1/(1+(-x)^(3/2)), 1/(1+x^(5/2)));
   94- intnum(x=[0,-1/2],[1,-1/3], x^(-1/2) + (1-x)^(-1/3)) -> error [didn't
       suport singularities at both endpoints]
   95- buffer overflow after default(format,"f.precision") (whenever many
       initial zeroes)
   96- qfminim(A, 0, ...) -> stack overflow [#1682]
   97- e=ellinit("11a1"); ellztopoint(e,3*e.omega[1]/5) -> [5, junk]
       (instead of expected [5,5]) [#1683]
   98- bnfinit(quadhilbert(-2180)) -> precision error [#1688]
   99- div_scal_rfrac could create an invalid t_POL [#1651]
  100- polroots(t_POL with leading coeff = 0) -> fp exception or error [#1690]
  101- \r cannot deal with very long filenames [#1616]
  102- rnfisabelian(nf, non monic t_POL) -> SEGV [#1693]
  103- Vecrev(x,n) / Colrev(x,n) when 'n' is not omitted: it wasn't true
       that Colrev/Polrev were inverse functions [#1698]
  104- possibly incorrect result in nfdisc(T,listP) even though listP included
       all prime divisors of the field discriminant. Example:
        p=10^100+267; q=10^120+79;
        T=polcompositum(x^2-p,x^2-q,2);
        nfdisc([T,[2,p,q]])
  105- wrong dim(Ker) returned by ZM_pivot => SEGV in Z-linear algebra routines.
       E.g. setrand(1);quadclassunit(-612556842419) [#1700]
  106- moebius(factor(18)) -> 1 instead of 0 [#1702]
  107- ispower(-167^10) => domain error [#1703]
  108- ispowerful(factor(0)) != ispowerful(0)
  109- expm1(2*I) => wrong result
  110- gamma(1+a*x+O(x^2)) => error [#1707]
  111- printsep() printed its argument in random format, instead of f_RAW as
       print() [#1708]
  112- nfdisc(x^10 - 29080*x^5 - 25772600) -> oo loop [#1710]
  113- forprime engine could skip (fast) sieve in favour of (slow)
       nextprime [#1711]
  114- 0^[1] -> domain error [#1713]
  115- memory leaks (clones) in ellchangecurve [#1716]
  116- zeta inaccurate around 0 [ from 2.7 ], [#1714]
  117- ellj(simple t_SER in 'x) much slower than in other variable [#1720]
  118- bnrrootnumber did not support the trivial character in the form [0,..,0]
  119- default(log,1) when logfile is write-protected later lead to SEGV [#1730]
BA120- 2-adic gamma function: fix accuracy loss
  121- A==A -> 0 for A a t_SER of huge accuracy (so that A-A overflows
       valuation) [#1734]
XR122- P=[1,-2,12,-12,-181,-4,-6899,9780,6360,702,-45]; setrand(3); nfdisc(P)
       -> wrong answer [ crash if setrand(138) ] [#1735]
  123- select(x->x,Vecsmall([1,2,3]),1) -> crash [#1737]
  124- (1./x+O(1))-(1./x+O(1)) -> 0.E-38*x^-2+O(x^-1) [#1741]
BA125- [libpari] RgV_to_RgX_reverse did not work if v[1] or v[2] was 0
  126- bnfinit(x^3-87156*x^2-6728799*x-456533) [#1736]
  127- Rg_to_ff: incorrect type in zk_to_ff [#1755]
BA128- nfsubfields could fail [#1758]
  129- rare SEGV in ArtinNumber [#1759]
  130- K.codiff incorrect if [K:Q] > 2
  131- chinese([]) -> '1' instead of Mod(0,1)
  132- m1=Mod(0,1);m2=Mod(1,x^2+1); chinese(m1,m2) -> m1; chinese(m2,m1) -> m2
       [instead of error]
  133- nfrootsof1(polcyclo(85)) -> 85 instead of 170 [#1766]
  134- at \p19, polroots((x+1)^2 * (x-1)^7 * (x^2-x+1)^5 * 1.0) -> SEGV [#1767]
BA135- ellsea returned the trace instead of the cardinal as documented.
BA136- ellsea(,,1)  could return a wrong result [#1768]
  137- rnfconductor: sanity checks were not taken into account
MC138- memory leak in pari_close: sopath not freed
HC139- incgam(30,60) < 0. More generally, wrong results for s >> 1 [#1689]
HC140- excessive loss of accuracy in incgam, incgamc, eint1
  141- isprimepower(30011^(3*17)) returned 0
  142- a = Mod(1,x); z = Mod(0,Pol(1)); chinese(a, z) works
       but chinese(a, simplify(z)) failed
BA143- [mpi] interrupt/alarm could caused a crash
BA144- [mpi] relinking empty t_LIST caused a crash
  145- ispower(t_POL) didn't work in small characteristic [#1779]; make it work
       over finite fields
BA146- my(s=1,a=0);forstep(i=1,20,s,s++;a+=i);a -> wrong result
KR147- gphelp -detex: accented letters counted as 1 char for line splitting
       but rendered as 2
  148- sqrt(0) -> loss of accuracy (sqrtn was correct)
  149- nfgaloisconj(t_POL T) was unnecessary slow when large divisors
       of disc(T) were internally detected (and subsequently ignored)
BA150- elltatepairing could return wrong results [#1784]
  151- padicappr(x^3+1,-2+O(2^5)) -> SEGV [mod a root mod p] [#1793]
  152- K = bnrinit(bnfinit(y^2-5),[1,[1,1]]); bnrdisc(K) -> wrong [#1804]
  153- ellztopoint(ellinit([-1,0]), I) -> wrong result [#1800]
       Potentially affected all elliptic functions (ellwp,ellzeta,ellsigma)
       at real or pure imaginary arguments.
  154- gamma(2+x) did not start with an exact 1, unlike gamma(1+x).
       lngamma(2+x) didn't have valuation 1
  155- gamma(t_INT+x) at large accuracy and seriesprecision was very slow,
       even for small t_INTs (same for lngamma and psi). E.g. at \p1000
       gamma(1000+x+O(x^100))
  156- a=Mod(y,y^2+1); Mod(a, x^2-2) == a returned 0 [#1806]
  157- x \/ y did not conform to documentation when either x or y was a
       t_REAL. E.g. 28/10 \/ 1 == 3 but 2.8 \/ 1 == 2. Now both return 3 [#1811]
BA158- digits(N,B) with 31/63 bit B could return wrong result
BA159- [pthread] parallel GP could leak memory
  160- ellinit(E, O(p^n)) was slightly incorrect for E / Q [ started by
       approximating exact equation mod p^something instead of keeping
       everything exact ]
  161- ellinit(E, O(2^n)) was hardly supported, e.g.
       ellinit("14a1",O(2^5)).tate => precision too low in p-adic AGM.
BA162- polrootsmod(x^3-1, not a prime) -> SEGV (BIB)
BA163- [windows] MPQS could fail due to temporary files
  164- matsnf([27, 0; 0, 3; 1, 1; 0, 0],1+4) -> SEGV
  165- gcd(Mod(1,2)*x+Mod(1,2), Mod(0,2)) -> Mod(1,2)
  166- qfperfection() only allowed matrices of small norm [#1719]
  167- wrong formula for poldisc when characteristic divides degree [#1831]
  168- wrong result for poldisc(ZX) in huge degree [#1830]
  169- missing typechecks in ellheight() [SEGV on BIB]
  170- ellminimalmodel() didn't use a coprime bases so that it
       was very slow for [c4,c6] = [p^5*q, p^6*q] for huge p and q
BP171- ellpointtoz(E / Qp) was totally wrong [#1833]
  172- genus2red(177*x^6+126*x^5-63*x^4+72*x+84) -> bug in labelm3 [#1826]
  173- normalize genus2red stable reduction output: a type K1-K2-r now
       guarantees K1 <= K2 (before both K1-K2-r and K2-K1-r could occur)
  174- gmulsg(0, 1+O(x)) -> O(x^0) instead of t_INT 0 as in gmul(gen_0, ...)

  Added
    1- add optional argument to sumdigits to specify the base
    2- [libpari] bits_to_int,bits_to_u,binary_zv,binary_2k,binary_2k_nv
BA  3- [GP] support for variadic GP functions (f(v[..])=expr)
    4- nfeltval(K, x, pr, &y) now takes an optional 4th argument, containing
       the part of x coprime to pr.
BA  5- [libpari] New functions family RgXn: new functions RgXnV_red_shallow,
       RgXn_powers, RgX_RgXnV_eval, RgX_RgXn_eval, RgXn_reverse, RgXn_inv,
       RgXn_exp
BA  6- [libpari] New functions Flv_inv
BA  7- [libpari] New functions Flx_Flv_eval, Flv_Flm_polint,
                               FpX_FpV_eval, FpV_FpM_polint
WH  8- [libpari] New low-level functions get_Fl_inv, remll_pre
BA  9- [libpari] New low-level functions Fl_sqr_pre, Fl_mul_pre, remlll_pre,
       Fl_powu_pre, Fl_sqrt_pre, divll_pre, random_Fle_pre
   10- [TeX documentation] new primitive \url (verbatim arg)
   11- [libpari] New functions Fq_log, gener_Fq_local
BA 12- GP functions bnrisgalois, bnrgaloismatrix, bnrgaloisapply
LGr13- GP function polrootsreal
   14- GP constant "oo" (for +/- infinity)
   15- [libpari] New functions mkoo, mkmoo, inf_get_sign
   16- [libpari] New functions ellbasechar, ec_f_evalx, ec_dfdx_evalQ,
   ec_dfdy_evalQ, ec_2divpol_evalx, ec_half_deriv_2divpol_evalx, ec_h_evalx,
   ec_dmFdy_evalQ, ec_bmodel
HIL17- GP functions ellisogeny, ellisogenyapply
   18- [libpari] New function RgX_coeff
BA 19- [libpari] New functions Fl_halve, Fp_halve, Flx_halve, Fq_halve
BA 20- [libpari] New functions vecsmallpermute, vec_append
   21- GP functions qfsolve, qfparam [ adapted from Denis Simon's qfsolve.gp ]
   22- [libpari] New function ZM_transmul
   23- allow elliptic curves over number fields: ellinit([a1,...,a5], nf)
   24- [libpari] ZX_sturm, ZX_sturmpart, RgX_sturmpart
   25- [libpari] RgXQV_RgXQ_mul
   26- thue / thueinit now also support (powers of) imaginary quadratic equations
BA 27- [libpari] ZpX_ZpXQ_liftroot, ZpX_ZpXQ_liftroot_ea
   28- [libpari] fuse_Z_factor
   29- ellformalw, ellformalpoint, ellformaldifferential,
       ellformallog, ellformalexp, ellnonsingularmultiple, ellpadicheight,
       ellpadicheightmatrix, ellpadics2, ellpadiclog
BA 30- [libpari] functions FpX_powu, FpX_digits, FpX_fromdigits,
                 FpXQX_powu, FpXQX_digits, FpXQX_fromdigits, FqX_powu
BA 31- GP functions ellpadicfrobenius, hyperellpadicfrobenius, hyperellcharpoly
   32- [libpari] function RgX_normalize
BA 33- much faster matfrobenius/minpoly(t_MAT)
BA 34- prototype codes U and u for ulong
   35- allow testing for BITS_IN_LONG in gprc
   36- GP functions msinit, ellpadicL
BA 37- [mingw] support for the alarm GP function
BA 38- [libpari] functions Fl_sqrtl, Fl_sqrtl_pre
   39- [libpari] function ZV_allpnqn
   40- [libpari] function Qevproj_init, Qevproj_apply, Qevproj_apply_vecei
   41- [libpari] functions G_ZGC_mul, G_ZG_mul, ZGC_G_mul, ZGC_Z_mul, ZG_G_mul,
       ZG_Z_mul, ZG_add, ZG_mul, ZG_neg, ZG_normalize, ZG_sub,
       ZGC_G_mul_inplace, ZGCs_add
   42- [libpari] function kroui
BA 43- GP function powers and libpari function gpowers
   44- flag LLL_COMPATIBLE for LLL routines [ use 64-bit compatible accuracies
       only ]
BA 45- [libpari] functions FpX_Frobenius, FpX_matFrobenius, Flx_Frobenius,
       Flx_matFrobenius, ZpX_Frobenius, F2x_Frobenius, F2x_matFrobenius
   46- [libpari] function ser_isexactzero
BA 47- [libpari] functions ZV_chinese, Z_ZV_mod, Z_nv_mod, nmV_chinese_center
BA 48- GP function fromdigits
BA 49- [libpari] functions Zp_sqrt, ZpXQ_sqrt
   50- GP functions mscuspidal, mseisenstein, msnew, mssplit, msqexpansion,
       mshecke, ellmsinit, msatkinlehner, msstar, mseval, mspathgens, mspathlog,
       msissymbol, msfromcusp, msfromell
BA 51- GP declaration localprec(), localbitprec()
HIL52- [libpari] functions Fl_powers_pre, Fl_ellj_pre, Fl_elldisc_pre,
                           Fl_elltwist_disc
BA 53- [libpari] functions Fl_powers, Fp_powers, Fl_ellj, Fl_elldisc,
                           Fl_ellj_to_a4a6, Flxq_ellj_to_a4a6
BA 54- [libpari] functions FpXQX_div_by_X_x, FqX_div_by_X_x
HIL55- [libpari] function Flx_oneroot_split, zxX_to_FlxX, RgXY_degreex
BA 56- [libpari] functions Flv_inv_pre, Flv_inv_inplace, Flv_inv_pre_inplace
HIL57- GP function ellissupersingular
HIL58- [libpari] functions Fp_elljissupersingular, FpXQ_elljissupersingular
BA 59- [libpari] functions umodsu, zx_to_Flx, corediscs
   60- GP function qfbredsl2
   61- [libpari] functions ell_is_integral, ellintegralmodel, ellQ_get_CM,
   ellorder_Q, ellap_CM_fast, point_to_a4a6, point_to_a4a6, Fl_elltrace_CM,
   Fle_changepoint, Fle_changepointinv, Fle_log
   62- allow elltors and ellorder for E/K number field
   63- GP function ellxn, ellisdivisible
HIL64- [libpari] function family Flj_*
   65- [libpari] idealprimedec_limit_f, idealprimedec_limit_norm
   66- [libpari] modpr_get_p, modpr_get_T, modpr_get_pr
   67- GP function nfsplitting
HIL68- [libpari] functions Flv_dotproduct_pre, Flx_eval_pre,
       Flx_eval_powers_pre, FlxY_eval_powers_pre, FlxY_evalx_powers_pre
HIL69- GP functions polclass, polmodular
BA 70- ellcard over fields of medium characteristic (SEA, Kedlaya, Satoh)
   71- GP functions varhigher() / varlower() / variables()
BA 72- GP function self() (for defining recursive anonymous functions)
BA 73- GP function fold()
   74- [libpari] hash_create_ulong, hash_create_str, hash_select,
       hash_remove_select, hash_keys, hash_values
   75- allow serlaplace(t_POL)
   76- GP function ispseudoprimepower
   77- [libpari] functions FpM_add, Flm_add, FpM_Fp_mul, RgMrow_zc_mul
   78- [libpari] function nfembed, nfissquarefree
   79- new binary flag to polcompositum: assume fields are linearly disjoint
   80- GP function nfcompositum
AP 81- [GP] associative and central simple algebra package, functions
   algabsdim         algdisc           algisramified     algrandom
   algadd            algdivl           algissemisimple   algrelmultable
   algalgtobasis     algdivr           algissimple       algsimpledec
   algaut            alghasse          algissplit        algsplittingdata
   algb              alghassef         algleftmultable   algsplittingfield
   algbasis          alghassei         algmul            algsplittingmatrix
   algbasistoalg     algindex          algmultable       algsqr
   algcenter         alginit           algneg            algsub
   algcentralproj    alginv            algnorm           algsubalg
   algchar           alginvbasis       algpoleval        algtableinit
   algcharpoly       algisassociative  algpow            algtensor
   algdecomposition  algiscommutative  algprimesubalg    algtrace
   algdegree         algisdivision     algquotient       algtype
   algdim            algisdivl         algradical
                     algisinv          algramifiedplaces
   82- [libpari] functions rnf_get_alpha, rnf_get_idealdisc, rnf_get_k
   83- [libpari] functions ZC_is_ei, RgC_is_ei, ZM_Z_div, ZMV_to_FlmV, checkal
   84- [libpari] functions cbrtr, cbrtr_abs
   85- nfinit(rnf) now returns an nf structure associated to rnf.polabs
   86- idealprimedec now allows an optional 3rd argument, to limit f(P/p)
   87- [libpari] cb_pari_err_handle callback
   88- [libpari] function nf_get_ramified_primes
   89- Configure --with-runtime-perl option
PB 90- Faster matrix multiplication over finite fields
   91- allow content(t_VECSMALL)
   92- [libpari] ZX_div_by_X_1
HC 93- intnumgauss / intnumgaussinit: Gauss-Legendre quadrature
LGr94- GP function sinc
HC 95- contfracinit / contfraceval functions
HC 96- limitnum / asympnum
BA 97- [libpari] functions FlxV_prod, RgV_prod
BA 98- GP function ellfromeqn
HC 99- gammamellininv, gammamellininvasymp, gammamellininvinit
BA 100- [libpari] RgX_Rg_eval_bk, RgX_RgV_eval, RgXV_RgV_eval
   101- [libpari] RgX_cxeval
HC 102- GP function zetamult
PB 103- ZM_mul: Add Strassen-Winograd algorithm
   104- GP functions sumnummonien/sumnummonieninit
   105- [libpari] RgM_gram_schmidt, RgM_Babai
BA 106- GP function cotanh
   107- support sign(t_QUAD with positive discriminant)
   108- comparison operators (<,>,<=,>=): support t_QUAD with *same* positive
        discriminant
BA 109- [libpari] Flv_prod, Flv_prod_pre
BA 110- [libpari] Flv_neg, Flv_neg_inplace
ED 111- mingw64 support
BA 112- [parallel] new GP function parforvec
BA 113- [libpari] Fl_addmul_pre, Fl_addmulmul_pre
BA 114- [libpari] Fl_eltwist, Fp_elltwist, FpXQ_elltwist, Flxq_elltwist,
                  F2xq_elltwist
BA 115- GP functions elltwist, ellminimaltwist
   116- [libpari] omegau, bigomegau
VB 117- GP support for 0xffff and 0b1111 (input t_INT in binary or hex notation)
BA 118- GP functions ellisomat
HC 119- GP function ramanujantau
PB 120- Speed up {Flx,FpX,FpXQX}_divrem_basecase for modulus of the form
        x^n+O(x^m) with m small
HC 121- GP function solvestep
   122- [GP] New lfun family of functions
   lfun                lfundiv             lfunmfspec
   lfunabelianrelinit  lfunetaquo          lfunmul             lfuntheta
   lfunan              lfunhardy           lfunorderzero       lfunthetainit
   lfuncheckfeq        lfuninit            lfunqf              lfunzeros
   lfunconductor       lfunlambda          lfunrootres         lfunartin
   lfuncreate
   123- [libpari] nfchecksigns, idealchineseinit
JD 124- [libpari] gp_read_str_multiline
BA 125- [libpari] Flx_nbfact_Frobenius, FpX_nbfact_Frobenius
   126- extend idealchinese() to impose sign conditions at specified real
        places [#1501]
   127- [libpari] qfb_equal1, qfi_order, qfi_log, qfi_Shanks
   128- [libpari] RgV_kill0
BA 129- factorcantor: use Shoup-Kaltofen algorithm (much faster)
BA 130- [libpari] FpX_dotproduct, Flx_dotproduct
JK 131- FpXQ_minpoly/Flxq_minpoly: use Shoup algorithm (much faster), and do
        not assume modulus is irreducible
BA 132- [libpari] idealramfrobenius, idealfrobenius_aut, nfgaloispermtobasis
   133- Allow ??lfun, ??Lmath, etc. [#1753]
   134- [libpari] cyc_normalize, char_normalize, char_check, char_rootof1,
        char_rootof1_u, bnrchar_primitive, bnrconductor_i
   135- GP functions charker, bnrchar
   136- bnrconductor(bnr, chi) as a shortcut for bnrconductor(bnr, Ker chi);
        same for bnrisconductor, bnrdisc and bnrclassno
   137- [libpari] real_1_bit(), grootsof1()
PB 138- [libpari] Flm_sub, FpM_sub
BA 138- [libpari] get_FpXQX_mod, get_FpXQX_degree, get_FpXQX_var,
        FpXQX_get_red, FqX_get_red, random_FpXQX
BA 139- [libpari] get_FlxqX_mod, get_FlxqX_degree, get_FlxqX_var,
        FlxqX_get_red, random_FlxqX
BA 140- Prototype code 'b' and default 'realbitprecision'
   141- \pb shortcut [ manipulate realbitprecision ]
BA 142- [GP] Map, mapget, mapput, mapisdefined, mapdelete
BA 143- [GP] bitprecision
BA 143- [arm64] add aarch64 assembly kernel
   144- [libpari] ZV_snf_group, ZV_snfall
   145- [libpari] znstar0 with Idealstar semantic; could be made available under
        GP as default znstar, but current znstar/idealstar have incompatible
        defaults. Called by idealstar(,N).
   146- [GP] znconreychar, znconreyexp, znconreylog, znconreyconductor,
        charorder, charconj
BA 147- [GP] call (for calling closures).
   148- [GP] optional flag to forell [ loop over isogeny classes ]
   149- lfunthetacost, lfuncost
SCh150- [mingw] timer: support for user time
JD 151- [libpari] pari_completion interface for readline
SCh152- [mingw+pthread]: default nbthreads support
   153- teichmuller([p,n]) to cache all value at i + O(p^n), 1 <= i < p
   154- optional argument 'tab' to teichmuller(x)
   155- [GP] function chareval, charmul, chardiv, zncharinduce, zncharisodd
   156- [libpari] Flm_intersect
   157- [libpari] ggamma1m1
   158- allow ispower(t_POLMOD representing a finite field element)
   159- [libpari] Fq_ispower, FqX_ispower, RgX_deflate_order, Fq_to_FF,
        FqX_to_FFX
   160- [libpari] Z2_sqrt, divisorsu_fact, usumdiv_fact, usumdivk_fact
   161- gphelp -detex: new flag -utf8 to allow utf-8 encoding in output, e.g.
        render \'{e} as &eacute; (the actual eight-bit char) instead of 'e
   162- GP function msfromhecke, msgetlevel, msgetweight, msgetsign
BA 163- qfisominit: allow to pass the matrix of minimal vectors [#1656]
   164- [libpari] GENtostr_raw
BA 165- [libpari] FlxqX_halfgcd, FpXQX_halfgcd
   166- issquare(t_POLMOD of t_INTMOD) assuming a finite field
   167- RgXn_powu, RgXn_powu_i
   168- [libpari] is_real_t, R_abs, R_abs_shallow
BA 169- [libpari] F2xX, F2xqX, F2xqXQ family functions
   170- GP functions rnfidealprimedec, rnfidealfactor
BA 171- [libpari] get_FpX_algebra, get_FpXQ_algebra,  get_FpXQX_algebra,
                  get_FlxqXQ_algebra, get_FpXQXQ_algebra, get_Rg_algebra
   172- E/Qp: Added Mazur-Tate-Teitelbaum's L invariant to E.tate
BA 173- [libpari] ZpXQ_div, ZpXQX_divrem, ZpXQX_digits
   174- [libpari] ZX_deflate_max, ZX_deflate_order
   175- [libpari] idealinv_HNF, idealinv_HNF_Z
   176- [libpari] QM_charpoly_ZX_bound
BA 177- libpari support for low-res plot()
   178- GP function serprec
   179- ellap(E, p), ellcard(E,p) for E/K number field, and p maximal ideal
   180- [libpari] function sertoser
   181- ellan(E, n) for E/K number field
   182- [libpari] function gisexactzero
BA 183- GP function ellsea
   183- [libpari] nfsub, Rg_RgC_sub, Rg_RgC_sub, Z_ZC_sub
   184- [libpari] zkchinese, zkchinese1, zkchineseinit
   185- [libpari] vecsmall_reverse
   186- [libpari] Z_ppio, Z_ppgle, Z_cba
   187- ellminimalmodel over number fields
   188- [libpari] FpX_factor_squarefree, Flx_factor_squarefree
   189- [libpari] checknf_i, checkbnf_i, checkbid_i, checkrnf_i

  Changed
    1- make log(+/-I) return (+/-)Pi/2*I with gen_0 real part [#1556]
BA  2- [libpari] rename RgX_mullow -> RgXn_mul, RgX_sqrlow -> RgXn_sqr,
    RgX_modXn_eval -> RgXn_eval, RgX_modXn_shallow-> RgXn_red_shallow
    3- change rnfnormgroup to return [;] instead of raising an error whenever
    it detects a problem (modulus not a multiple of the conductor, non-abelian
    extension...): this is a BIB with undefined result, but returning a
    sentinel is more useful *if* we notice it.
    4- [gp] uniformize errors from the % history operator (SYNTAX->MISC) [#1553]
    5- t_STR used to compare as larger than any real number via < or >
       operators. Such a comparison now raises an exception.
    6- valuation(0,p), nfeltval(nf,0,pr), idealval(nf,0) now all return +oo
       poldegree(0) now returns -oo
BA  7- rootpadicfast renamed ZpX_roots
    8- nfinit: switch from sturm() to ZX_sturm() [Uspensky], and from polroots
       to polrootsreal (totally real fields). polsturm() now uses Uspensky in
       most cases.
    9- polsturm interface change
         - polsturm(T, a, b) is still supported but deprecated, use
           polsturm(T, [a,b])
         - polsturm(T, a, b) used to return the number of roots in ]a,b],
           we now use the closed interval [a,b]: more intuitive given the new
           syntax, and compatible with polrootsreal()
BA 10- [libpari] mkintn: handles arguments as 32bit unsigned int
   11- nfdisc, nfbasis: no longer support the old (T,flag,fa) arguments.
       Use the generic [T,listP] syntax (see 2.6.0-C105)
   12- factorpadic: no longer support the deprecated (no-op) 'flag' argument
   13- thue() sort solutions lexicographically
   14- thueinit tnf format: always include a bnf (also when r1=0), to allow
       checking for norm equation solutions first: e.g. thue(x^4+1,7*10^80)
       becomes instantaneous instead of overflowing
BA 15- Flx_pow renamed to Flx_powu
   16- optional flag to ellheight is gone (useless)
   17- ellbil(E,P,Q) is now deprecated, use ellheight(E,P,Q)
   18- [libpari] rename ghell->ellheight, mathell->ellheightmatrix
BA 19- Rg_to_RgV renamed to Rg_to_RgC, RgX_to_RgV renamed to RgX_to_RgC
   20- ellL1(e, r): make r optional (default value = 0)
BA 21- powruvec is replaced by powersr
   22- [libpari] merge_factor no longer keeps entries with exponent 0
Pmo23- More robust and much faster ellL1 and ellanalyticrank. The condition
       ord(L_E,s=1) <= r in ellL1(E,r) is no longer necessary.
   24- renamed ZV_gcdext -> ZV_extgcd for consistency with other gcdext methods
BA 25- setrand now return a (huge) integer instead of a vecsmall
   26- unify 32/64 bit random generators. Probabilistic algorithm should now
       behave identically on all architecture, provided they do not involve
       the floating point kernel
   28- unify 32/64 bit tests
   29- move extern(), externstr(), readstr() and system() to the generic
       part of GP language (was gp-specific). This allows to use them
       in parallel mode and under gp2c [#1593]
   30- made cmprr, cmpri, equalrr consistent with == semantic. We now have,
       e.g., 0e1==1.0 and (0e1 < 1) = 0 (since 1-0e1 evaluates to 0e1)
   31- [libpari] comment out function names obsoleted during the 2.3.* cycle
       (2007). See PARI_OLD_NAMES.
   32- default 'strictmatch' has been obsoleted. It is now a no-op.
   33- default 'compatible' has been obsoleted. It is now a no-op.
   34- zeta(odd integer): use Borwein's "sumalt" algorithm (10 times faster
       than previous at \p1000)
   35- elltors flags are now deprecated (and ignored, removed corresponding
       code)
   36- add optional flag to nfhnf / nfsnf: return transformation matrices
   37- nfroots/nffactor: factor polynomials in Q[X] over Q first
BA 38- much faster polresultant over Z
   39- GP and libpari polynomial variables of arbitrary priority can now be
       created: 'x' is no longer guaranteed to have maximal priority,
       nor MAXVARN to have minimal priority.
   40- GP: polynomial variable 'y' is now always defined on startup,
       with priority lower than 'x'
   41- Allow ffgen([p,f]) in addition to ffgen(p^f) and ffgen(T*Mod(1,p))
   42- thue() needed to compute to huge accuracies when regulator was large
       E.g. t=thueinit(15*x^3+8*x^2-95*x+24,1); thue(t,8)
   43- rnf structures may now contain a full absolute nf struct ('nfabs')
   44- matkerint: replace underlying LLL algorithm by mathnf
       Simple bench: M=matrix(50,55,i,j,random(10^5)); \\ 200 times faster
   45- allow t_VECSMALL vector exponents in gen_factorback
   47- [libpari] rename 'define' PI -> M_PI and use proper constant
   48- no longer print 0 t_POLMOD as "0", bug e.g. Mod(0,x). Uniformize code
       and behaviour with t_INTMOD.
   49- warn when coercing quotient rings when 'debug' non-zero
      ? \g1
      ? Mod(1,2)+Mod(1,3)
        *** _+_: Warning: coercing quotient rings; moduli 2 and 3 -> 1.
   50- content([]) -> 0 [ was 1 ]
   51- [] / 0 => div. by 0. Now returns [] (as [] \ 0 already did)
LGr52- use GRH-guaranteed bounds in bnfinit for residue estimate
   53- Configure: avoid inserting unnecessary -L arguments in link line
   54- genus2red: change syntax. Allow either genus2red(P) or genus2red([P,Q])
       instead of mandatory Q (was: genus2red(Q,P) with Q almost always 0).
       Allow uniformization with hyperellcharpoly
   55- old functions from gp-1.39.15 no longer loaded into an "entree" table,
       no longer complete specially "whatnow" arguments; remove compat.c and
       most of gp_init.c
BA 56- Rename row_Flm -> Flm_row, row_zm -> zm_row
   57- rewrote intnum / intnuminit routines
   58- nucomp now takes L = floor(|D|^(1/4)) as a 3rd argument. Former
       nucomp(x,n) is nucomp(x,n,NULL).
BA 59- divide_conquer_assoc renamed to gen_product
   60- sumnum algorithm (replace Abel-Plana by Euler-Mac Laurin). Changed
       the interface !
BA 61- [libpari] concat, concat1 renamed to gconcat, gconcat1
   62- rnfconductor now returns [cond, bnr, H] instead of [cond, bnr.clgp, H]
   63- nfrootsof1(), more stringent ramification tests: looking
       for a subfield Q(zeta_p^k) is now faster.
   64- intnumromb to use realbitprecision
   65- idealstar / ideallog: allow omitting 'nf' argument (for nf = Q; use
       znstar and znlog internally)
   66- improved p-adic log at high accuracy (O(sqrt(padicprec)) algorithm
       instead of O(padicprec))
   67- allow genus2red to handle (rational) non integral models
KR 68- new version of misc/xgp
BA 69- rename Flc_Fl_mul -> Flv_Fl_mul, Flc_Fl_div -> Flv_Fl_div,
       RgC_to_Flc to RgV_to_Flv, F2c_to_Flc to F2v_to_Flv
   70- rename leading_term -> leading_coeff, constant_term -> constant_coeff
   71- improve gamma(a+O(x))
BA 72- Z_to_Flx now takes a shifted variable number, as Fl_to_Flx.
BA 73- improve hash_GEN to reduce # of collisions (change glue)
   74- added explicit ways to attach an absolute nf to a rnf structure,
       allowing rnf functions to return objects in standard notation (e.g.
       ideals in HNF instead of as a vector of t_POLMOD generators).
       Add optional flag to rnfeltabstorel, rnfeltdown, rnfeltup,
       rnfidealreltoabs, rnfinit
BA 75- rename FlxqX_pow to FlxqX_powu
   76- polredabs([T,listP]) no longer returns 0 if the attached order cannot
       be proven to be maximal: it computes the expected canonical polynomial
       in all cases, which can be very slow. Always use polredbest() if you
       don't require a canonical output.
   77- polredabs(T) now internally uses the polredabs([T,listP]) strategy,
       making it much faster in favourable cases, while still always returning
       a canonical defining polynomial.
   78- precision(0), bitprecision(0), padicprec(0,p) now all return +oo
       under GP [ used to return LONG_MAX ]
   79- meaning of precision(x, n) no longer depends on the type of x: it now
       always refers to floating point precision. Before the change:
       precision([O(2),O(3),O(x)], 10) -> [O(2^10),O(3^10),O(x^10)]
   80- infinite slopes of newtonpoly replaced by "+oo" (instead of 2^63-1)
   81- rename anell -> ellan, anellsmall -> ellanQ_zv
BA 82- Fp_ellcard_SEA/Fq_ellcard_SEA meaning of flag has changed.
   83- renamed absi_cmp -> abscmpii, absr_cmp -> abscmprr,
       absi_equal -> absequalii, absi_factor -> absZ_factor, absi_factor_limit
       -> absZ_factor_limit, equaliu -> absequaliu, equalui -> absequalui,
      cmpiu -> abscmpiu, cmpui -> abscmpui

Removed
   1- deprecated functions nfbasis0, nfdisc0, factorpadic0
   2- deprecated function manage_var
   3- useless function intnuminitgen (not very useful and impossible to use
      reliably together with intnum with boundary conditions)
   4- useless function intnumstep: instead of intnum(a,b, intnumstep()+m),
      use intnum(a,b,m).
   5- partially implemented functions intfouriercos / intfouriersin /
      intfourierexp / intlaplaceinv / intmellininv / intmellinvshort: use
      intnum (possibly intfuncinit). Make sure to indicate oscillating behaviour
      when function decrease slowly at oo
   6- optional flag to intfuncinit
BA 7- divide_conquer_prod: use gen_product instead
   8- useless function sumnumalt
   9- badly implemented functions zetakinit / zetak: the interface did not
      make sense (it is impossible to initialize for Dedekind zeta without
      specifying a domain where the function is to be evaluated). Closest
      equivalent to zetakinit:
        L = lfuninit(x^2+1, [c, w, h]);
      to compute zeta_Q(i)(s) for |Re(s - c)| < w, |Im(s)| < h. Then
        lfun(L, s)
      as an analog to zetak(). Or directly lfun(x^2+1, s) if a single value
      is needed. [#368, #1647]
BA10- [libpari] FpXQX_rem_Barrett, FpXQX_divrem_Barrett: use FpXQX_get_red
BA11- [libpari] FlxqX_rem_Barrett: use FlxqX_get_red
BA12- [libpari] RgX_RgM_eval_col