  
  [1X2 [33X[0;0YChanges between [5XGAP[105X[101X[1X 4.8 and [5XGAP[105X[101X[1X 4.9[133X[101X
  
  [33X[0;0YThis  chapter  contains an overview of the most important changes introduced
  in [5XGAP[105X 4.9.1 release (the 1st public release of [5XGAP[105X 4.9). Later it will also
  contain information about subsequent update releases for [5XGAP[105X 4.9.[133X
  
  [33X[0;0YThese     changes     are     also     listed     on     the    Wiki    page
  [7Xhttps://github.com/gap-system/GAP/wiki/gap-4.9-release-notes[107X.[133X
  
  
  [1X2.1 [33X[0;0Y[5XGAP[105X[101X[1X 4.9.1 (May 2018)[133X[101X
  
  
  [1X2.1-1 [33X[0;0YChanges in the core [5XGAP[105X[101X[1X system introduced in [5XGAP[105X[101X[1X 4.9[133X[101X
  
  [33X[0;0YMajor changes:[133X
  
  [30X    [33X[0;6YMerged [5XHPC-GAP[105X into [5XGAP[105X. For details, please refer to Subsection [14X2.1-2[114X
        at the end of these release notes.[133X
  
  [30X    [33X[0;6Y[5XGAP[105X has a new build system, which resolves many quirks and issues with
        the old system, and will be easier to maintain. For regular users, the
        usual  [10X./configure  &&  make[110X  should  work  fine as before. If you are
        interested  in  technical details on the new build system, take a look
        at [11XREADME.buildsys.md[111X.[133X
  
  [30X    [33X[0;6YThe guidelines for developing [5XGAP[105X packages were revised and moved from
        the  Example  package  to [14XReference: Using and Developing GAP Packages[114X
        (#484 ([7Xhttps://github.com/gap-system/gap/pull/484[107X)).[133X
  
  [30X    [33X[0;6YIn  addition  to supporting single argument lambda functions like [10Xa ->
        a+1[110X, [5XGAP[105X now supports lambdas with fewer or more than one argument, or
        even  a  variable  number.  E.g.  [10X{a,b}  ->  a+b[110X  is  a  shorthand for
        [10Xfunction(a,b)  return  a+b;  end[110X.  For details on how to use this, see
        [14X'Reference:  Function'[114X.  For  technical  details,  e.g. why we did not
        choose      the      syntax     [10X(a,b)     ->     a+b[110X,     see     #490
        ([7Xhttps://github.com/gap-system/gap/pull/490[107X).[133X
  
  [30X    [33X[0;6YFunction  calls, list accesses and records accesses now can be nested.
        For  example, you can now write [10Xy := f().x;[110X (essentially equivalent to
        [10Xy  :=  f();;  y  :=  y.x;[110X), which previously would have resulted in an
        error;  see  #457  ([7Xhttps://github.com/gap-system/gap/issues/457[107X)  and
        #462 ([7Xhttps://github.com/gap-system/gap/pull/462[107X)).[133X
  
  [30X    [33X[0;6YThe   libraries  of  small,  primitive  and  transitive  groups  which
        previously were an integral part of [5XGAP[105X were split into three separate
        packages  PrimgGrp  ([7Xhttp://gap-packages.github.io/primgrp/[107X), SmallGrp
        ([7Xhttps://gap-packages.github.io/smallgrp/[107X)         and        TransGrp
        ([7Xhttp://www.math.colostate.edu/~hulpke/transgrp/[107X).    For    backwards
        compatibility,  these are required packages in [5XGAP[105X 4.9 (i.e., [5XGAP[105X will
        not  start  without  them).  We  plan to change this for [5XGAP[105X 4.10 (see
        #2434    ([7Xhttps://github.com/gap-system/gap/pull/2434[107X)),    once   all
        packages  which  currently  implicitly  rely on these new packages had
        time     to    add    explicit    dependencies    on    them    (#1650
        ([7Xhttps://github.com/gap-system/gap/pull/1650[107X),                   #1714
        ([7Xhttps://github.com/gap-system/gap/pull/1714[107X)).[133X
  
  [30X    [33X[0;6YThe  performance  of [5XGAP[105X's sorting functions (such as [2XSort[102X ([14XReference:
        Sort[114X),   [2XSortParallel[102X   ([14XReference:   SortParallel[114X),  etc.)  has  been
        substantially  improved,  in  some  examples  by more than a factor of
        four: as a trivial example, compare the timing for [10XSort([1..100000000]
        * 0)[110X. As a side effect, the result of sorting lists with equal entries
        may  produce  different  answers compared to previous [5XGAP[105X versions. If
        you  would  like  to  make your code independant of the exact employed
        sorting  algorithm, you can use the newly added [2XStableSort[102X ([14XReference:
        StableSort[114X),     [2XStableSortBy[102X     ([14XReference:     StableSortBy[114X)    and
        [2XStableSortParallel[102X    ([14XReference:   StableSortParallel[114X).   (For   some
        technical                details,               see               #609
        ([7Xhttps://github.com/gap-system/gap/pull/609[107X)).[133X
  
  [30X    [33X[0;6YWe removed our old home-grown big integer code, and instead always use
        the GMP based big integer code. This means that the GMP library now is
        a  required  dependency,  not  just an optional one. Note that GAP has
        been  using GMP big integer arithmetic for a long time by default, and
        we also have been bundling GMP with GAP. So this change mostly removed
        code that was never in use for most users.[133X
  
  [30X    [33X[0;6YA number of improvements have been made to [2XRandom[102X ([14XReference: Random[114X).
        These may lead to different sequences of numbers being created. On the
        up  side,  many more methods for [2XRandom[102X ([14XReference: Random[114X) (and other
        [10XRandomXYZ[110X  operations)  now  optionally  take an explicit [2XRandomSource[102X
        ([14XReference:  RandomSource[114X)  as  first  argument (but not yet all: help
        with   issue  #1098  ([7Xhttps://github.com/gap-system/gap/pull/1098[107X)  is
        welcome). Some relevant pull requests:[133X
  
        [30X    [33X[0;12YAllow  creating random permutations using a random source (#1165
              ([7Xhttps://github.com/gap-system/gap/pull/1165[107X))[133X
  
        [30X    [33X[0;12YLet  more  [2XRandom[102X ([14XReference: Random[114X) methods use an alternative
              source (#1168 ([7Xhttps://github.com/gap-system/gap/pull/1168[107X))[133X
  
        [30X    [33X[0;12YHelp  [2XRandom[102X  ([14XReference:  Random[114X)  methods  to use [2XRandomSource[102X
              ([14XReference:                  RandomSource[114X)                 (#810
              ([7Xhttps://github.com/gap-system/gap/pull/810[107X))[133X
  
        [30X    [33X[0;12YRemove     uses     of     old     random     generator    (#808
              ([7Xhttps://github.com/gap-system/gap/pull/808[107X))[133X
  
        [30X    [33X[0;12YFix  [2XRandom[102X  ([14XReference:  Random[114X)  on  long  (>2^28) lists (#781
              ([7Xhttps://github.com/gap-system/gap/pull/781[107X))[133X
  
        [30X    [33X[0;12YFix  [2XRandomUnimodularMat[102X ([14XReference: RandomUnimodularMat[114X) (#1511
              ([7Xhttps://github.com/gap-system/gap/pull/1511[107X))[133X
  
        [30X    [33X[0;12YUse  [2XRandomSource[102X ([14XReference: RandomSource[114X) in a few more places
              (#1599 ([7Xhttps://github.com/gap-system/gap/pull/1599[107X))[133X
  
  [30X    [33X[0;6YThe   output   and   behaviour   of  the  profiling  system  has  been
        substantially improved:[133X
  
        [30X    [33X[0;12YMake  profiling  correctly  handle  the  same  file being opened
              multiple                       times                      (#1069
              ([7Xhttps://github.com/gap-system/gap/pull/1069[107X))[133X
  
        [30X    [33X[0;12YDo   not  profile  the  [10Xreturn[110X  statements  ([14XReference:  return[114X)
              inserted     into     the     end     of     functions    (#1073
              ([7Xhttps://github.com/gap-system/gap/pull/1073[107X))[133X
  
        [30X    [33X[0;12YEnsure  we  reset  [10XOutputtedFilenameList[110X  in  profiling  when  a
              workspace             is             restored             (#1164
              ([7Xhttps://github.com/gap-system/gap/pull/1164[107X))[133X
  
        [30X    [33X[0;12YBetter tracking of amounts of memory allocated and time spent in
              the             garbage             collector             (#1806
              ([7Xhttps://github.com/gap-system/gap/pull/1806[107X))[133X
  
        [30X    [33X[0;12YAllow       profiling      of      memory      usage      (#1808
              ([7Xhttps://github.com/gap-system/gap/pull/1808[107X))[133X
  
        [30X    [33X[0;12YRemove  profiling  limit  on  files  with  <=  2^16 lines (#1913
              ([7Xhttps://github.com/gap-system/gap/pull/1913[107X))[133X
  
  [30X    [33X[0;6YIn  many  cases [5XGAP[105X now outputs the filename and location of functions
        in  helpful places, e.g. in error messages or when displaying compiled
        functions.  We  also try to always use the format [10XFILENAME:LINE[110X, which
        various   utilities  already  know  how  to  parse  (e.g.  in  [5XiTerm2[105X,
        cmd-clicking  on such a string can be configured to open an editor for
        the  file at the indicated line). For some technical details, see #469
        ([7Xhttps://github.com/gap-system/gap/pull/469[107X),                     #755
        ([7Xhttps://github.com/gap-system/gap/pull/755)[107X),                   #1058
        ([7Xhttps://github.com/gap-system/gap/pull/1058[107X).[133X
  
  [30X    [33X[0;6Y[5XGAP[105X now supports constant variables, whose value cannot change anymore
        during  runtime;  code  using  such  constants  can  then  be slightly
        optimized by [5XGAP[105X. E.g. if [10Xfoo[110X is turned into a constant variable bound
        to  the  value [9Xfalse[109X, then [5XGAP[105X can optimize [10Xif foo then ... fi;[110X blocks
        completely  away.  For  details,  see  [2XMakeConstantGlobal[102X  ([14XReference:
        MakeConstantGlobal[114X)  in  [14X'Reference:  More  About  Global  Variables'[114X.
        (#1682       ([7Xhttps://github.com/gap-system/gap/pull/1682[107X),      #1770
        ([7Xhttps://github.com/gap-system/gap/pull/1770[107X))[133X
  
  [33X[0;0YOther changes:[133X
  
  [30X    [33X[0;6YEnhance  [2XStructureDescription[102X ([14XReference: StructureDescription[114X) with a
        major    rewrite,    enhancing    [10XDirectFactorsOfGroup"[110X   and   adding
        [10XSemidirectDecompositions[110X;  the  core  algorithm  now  also  works  for
        infinite  abelian groups. Further, it became faster by quickly finding
        abelian  direct  factors and recognizing several cases where the group
        is              direct              indecomposable.              (#379
        ([7Xhttps://github.com/gap-system/gap/pull/379[107X),                     #763
        ([7Xhttps://github.com/gap-system/gap/pull/763[107X),                     #985
        ([7Xhttps://github.com/gap-system/gap/pull/985[107X))[133X
  
  [30X    [33X[0;6YMark [2XFittingSubgroup[102X ([14XReference: FittingSubgroup[114X) and [2XFrattiniSubgroup[102X
        ([14XReference:       FrattiniSubgroup[114X)       as      nilpotent      (#400
        ([7Xhttps://github.com/gap-system/gap/pull/400[107X))[133X
  
  [30X    [33X[0;6YAdd  method  for  [2XSocle[102X ([14XReference: Socle[114X) for finite nilpotent groups
        (#402 ([7Xhttps://github.com/gap-system/gap/pull/402[107X))[133X
  
  [30X    [33X[0;6YChange  [2XViewString[102X  ([14XReference:  ViewString[114X)  and  [2XString[102X  ([14XReference:
        String[114X)  methods  for  various  inverse  semigroups  and monoids (#438
        ([7Xhttps://github.com/gap-system/gap/pull/438[107X),                     #880
        ([7Xhttps://github.com/gap-system/gap/pull/880[107X),                     #882
        ([7Xhttps://github.com/gap-system/gap/pull/882[107X))[133X
  
  [30X    [33X[0;6YEnhance     some    nilpotent    and    [22Xp[122X-group    attributes    (#442
        ([7Xhttps://github.com/gap-system/gap/pull/442[107X))[133X
  
  [30X    [33X[0;6YImprove  [2XUnion[102X  ([14XReference:  Union[114X)  for a list with many ranges (#444
        ([7Xhttps://github.com/gap-system/gap/pull/444[107X))[133X
  
  [30X    [33X[0;6YAdd [2XUserHomeExpand[102X ([14XReference: UserHomeExpand[114X), a function to expand [10X~[110X
        in filenames. (#447 ([7Xhttps://github.com/gap-system/gap/pull/447[107X))[133X
  
  [30X    [33X[0;6YExtra hint in [21XNo Method Found[121X error message if one of the arguments is
        [9Xfail[109X (#460 ([7Xhttps://github.com/gap-system/gap/pull/460[107X))[133X
  
  [30X    [33X[0;6YTell  Sylow  subgroups  of  natural [22XA_n[122X or [22XS_n[122X their size when we make
        them (#529 ([7Xhttps://github.com/gap-system/gap/pull/529[107X))[133X
  
  [30X    [33X[0;6YSome  small  enhancements  on  Sylow  and  Hall subgroup computations,
        mostly          for          nilpotent          groups.          (#535
        ([7Xhttps://github.com/gap-system/gap/pull/535[107X))[133X
  
  [30X    [33X[0;6YRemove        [11X.zoo[111X       archive       related       tools       (#540
        ([7Xhttps://github.com/gap-system/gap/pull/540[107X))[133X
  
  [30X    [33X[0;6YAdd     new     [2XFrattiniSubgroup[102X     ([14XReference:    FrattiniSubgroup[114X),
        [2XMaximalNormalSubgroups[102X       ([14XReference:      MaximalNormalSubgroups[114X),
        [2XMinimalNormalSubgroups[102X  ([14XReference:  MinimalNormalSubgroups[114X) and [2XSocle[102X
        ([14XReference:  Socle[114X)  methods  for abelian and/or solvable groups, even
        infinite ones. The new methods are only triggered if the group already
        knows     that     it    is    abelian    and/or    solvable.    (#552
        ([7Xhttps://github.com/gap-system/gap/pull/552[107X),                     #583
        ([7Xhttps://github.com/gap-system/gap/pull/583[107X),                     #606
        ([7Xhttps://github.com/gap-system/gap/pull/606[107X))[133X
  
  [30X    [33X[0;6YNew attribute [10XNormalHallSubgroups[110X, returning a list of all normal Hall
        subgroups            of            a            group.           (#561
        ([7Xhttps://github.com/gap-system/gap/pull/561[107X))[133X
  
  [30X    [33X[0;6YAdd            [2XComplementClassesRepresentatives[102X            ([14XReference:
        ComplementClassesRepresentatives[114X) fallback method for arbitrary groups
        (#563 ([7Xhttps://github.com/gap-system/gap/pull/563[107X))[133X
  
  [30X    [33X[0;6Y(#612 ([7Xhttps://github.com/gap-system/gap/pull/612[107X)) Add parsing of hex
        literals   in   strings,   e.g.  [10X"\0x61"[110X  is  turned  into  [10X"a"[110X  (#612
        ([7Xhttps://github.com/gap-system/gap/pull/612[107X))[133X
  
  [30X    [33X[0;6YCollection              of              enhancements             (#683
        ([7Xhttps://github.com/gap-system/gap/pull/683[107X))[133X
  
  [30X    [33X[0;6YVarious  speed  improvements  to  polynomial factorisation and the [5XGAP[105X
        MeatAxe   (#720   ([7Xhttps://github.com/gap-system/gap/pull/720[107X),  #1027
        ([7Xhttps://github.com/gap-system/gap/pull/1027[107X))[133X
  
  [30X    [33X[0;6YThe  code  and  documentation  for  transformations  is  improved  and
        corrected           in          many          instances          (#727
        ([7Xhttps://github.com/gap-system/gap/pull/727[107X),                     #732
        ([7Xhttps://github.com/gap-system/gap/pull/732[107X))[133X
  
  [30X    [33X[0;6YChange  [10XRootFFE[110X  to  optionally  takes  a field or field size as first
        argument,    from    which    the    roots   will   be   taken   (#761
        ([7Xhttps://github.com/gap-system/gap/pull/761[107X))[133X
  
  [30X    [33X[0;6YChange  [2XPermanent[102X  ([14XReference: Permanent[114X) from a global function to an
        attribute (#777 ([7Xhttps://github.com/gap-system/gap/pull/777[107X))[133X
  
  [30X    [33X[0;6YAdd  [2XCallFuncListWrap[102X  ([14XReference:  CallFuncListWrap[114X)  to  wrap return
        value  to  allow  distinguishing  between  functions  which return and
        functions                which               don't               (#824
        ([7Xhttps://github.com/gap-system/gap/pull/824[107X))[133X
  
  [30X    [33X[0;6YAllow  repeated use of same [2XDeclareSynonym[102X ([14XReference: DeclareSynonym[114X)
        call (#835 ([7Xhttps://github.com/gap-system/gap/pull/835[107X))[133X
  
  [30X    [33X[0;6YNew implementation of modified Todd-Coxeter (the old one had bugs, see
        #302       ([7Xhttps://github.com/gap-system/gap/issues/302[107X)),       #843
        ([7Xhttps://github.com/gap-system/gap/pull/843[107X))[133X
  
  [30X    [33X[0;6YNew   functionality:   Cannon/Holt   automorphisms  and  others  (#878
        ([7Xhttps://github.com/gap-system/gap/pull/878[107X))[133X
  
  [30X    [33X[0;6YAdd  [2XIsPowerfulPGroup[102X  ([14XReference:  IsPowerfulPGroup[114X)  property, and a
        [2XFrattiniSubgroup[102X  ([14XReference:  FrattiniSubgroup[114X)  method  for powerful
        [22Xp[122X-groups (#894 ([7Xhttps://github.com/gap-system/gap/pull/894[107X))[133X
  
  [30X    [33X[0;6YImprove   performance   for   group   isomorphism/automorphisms  (#896
        ([7Xhttps://github.com/gap-system/gap/pull/896[107X),                     #968
        ([7Xhttps://github.com/gap-system/gap/pull/968[107X))[133X
  
  [30X    [33X[0;6YMake   [2XListX[102X   ([14XReference:   ListX[114X),   [2XSetX[102X  ([14XReference:  SetX[114X),  [2XSumX[102X
        ([14XReference:  SumX[114X)  and  [2XProductX[102X  ([14XReference: ProductX[114X) support lists
        which           are           not           collections          (#903
        ([7Xhttps://github.com/gap-system/gap/pull/903[107X))[133X
  
  [30X    [33X[0;6YSome    improvements    for    [2XLatticeByCyclicExtension[102X    ([14XReference:
        LatticeByCyclicExtension[114X)                                        (#905
        ([7Xhttps://github.com/gap-system/gap/pull/905[107X))[133X
  
  [30X    [33X[0;6YAdd  helpers  to  retrieve  information  about operations and filters:
        [2XCategoryByName[102X     ([14XReference:     CategoryByName[114X),    [2XTypeOfOperation[102X
        ([14XReference:  TypeOfOperation[114X), [2XFilterByName[102X ([14XReference: FilterByName[114X),
        [2XFiltersObj[102X    ([14XReference:    FiltersObj[114X),    [2XFiltersType[102X   ([14XReference:
        FiltersType[114X),  [10XIdOfFilter[110X,  [10XIdOfFilterByName[110X,  [2XIsAttribute[102X ([14XReference:
        IsAttribute[114X),    [2XIsCategory[102X    ([14XReference:   IsCategory[114X),   [2XIsProperty[102X
        ([14XReference:       IsProperty[114X),       [2XIsRepresentation[102X      ([14XReference:
        IsRepresentation[114X)  (#925 ([7Xhttps://github.com/gap-system/gap/pull/925[107X),
        #1593 ([7Xhttps://github.com/gap-system/gap/pull/1593[107X))[133X
  
  [30X    [33X[0;6YAdd            case-insensitive           autocomplete           (#928
        ([7Xhttps://github.com/gap-system/gap/pull/928[107X))[133X
  
  [30X    [33X[0;6YGive   better   error   message  if  a  help  file  is  missing  (#939
        ([7Xhttps://github.com/gap-system/gap/pull/939[107X))[133X
  
  [30X    [33X[0;6YAdd   [2XLowercaseChar[102X   ([14XReference:   LowercaseChar[114X)  and  [2XUppercaseChar[102X
        ([14XReference:                    UppercaseChar[114X)                    (#952
        ([7Xhttps://github.com/gap-system/gap/pull/952[107X))[133X
  
  [30X    [33X[0;6YAdd  [2XPositionMaximum[102X  ([14XReference: PositionMaximum[114X) and [2XPositionMinimum[102X
        ([14XReference:                   PositionMinimum[114X)                   (#956
        ([7Xhttps://github.com/gap-system/gap/pull/956[107X))[133X
  
  [30X    [33X[0;6YSwitching  default  command history length from infinity to 1000 (#960
        ([7Xhttps://github.com/gap-system/gap/pull/960[107X))[133X
  
  [30X    [33X[0;6YAllow  conversion  of  [10X-infinity[110X  to  float  via  [2XNewFloat[102X ([14XReference:
        NewFloat[114X)     and     [2XMakeFloat[102X     ([14XReference:    MakeFloat[114X)    (#961
        ([7Xhttps://github.com/gap-system/gap/pull/961[107X))[133X
  
  [30X    [33X[0;6YAdd option [10XNoPrecomputedData[110X to avoid use of data libraries in certain
        computations  (useful if one wants to verify the content of these data
        libraries) (#986 ([7Xhttps://github.com/gap-system/gap/pull/986[107X))[133X
  
  [30X    [33X[0;6YRemove one-argument version of [2XAsPartialPerm[102X ([14XReference: AsPartialPerm
        for a permutation and a set of positive integers[114X) for a transformation
        (#1036 ([7Xhttps://github.com/gap-system/gap/pull/1036[107X))[133X
  
  [30X    [33X[0;6YPartial    perms    now    have   a   [2XMultiplicativeZero[102X   ([14XReference:
        MultiplicativeZero[114X)  rather  than a [2XZero[102X ([14XReference: Zero[114X), since they
        are    multiplicative    rather    than   additive   elements   (#1040
        ([7Xhttps://github.com/gap-system/gap/pull/1040[107X))[133X
  
  [30X    [33X[0;6YVarious                      enhancements:                      (#1046
        ([7Xhttps://github.com/gap-system/gap/pull/1046[107X))[133X
  
        [30X    [33X[0;12YA     bugfix     in    [2XNaturalHomomorphismByIdeal[102X    ([14XReference:
              NaturalHomomorphismByIdeal[114X) for polynomial rings[133X
  
        [30X    [33X[0;12YImprovements in handling solvable permutation groups[133X
  
        [30X    [33X[0;12YThe trivial group now is a member of the perfect groups library[133X
  
        [30X    [33X[0;12YImprovements in using tabulated data for maximal subgroups[133X
  
  [30X    [33X[0;6YNew  tests  for group constructors and some fixes (e.g. [10XGO(1,4,5)[110X used
        to            trigger            an            error)           (#1053
        ([7Xhttps://github.com/gap-system/gap/pull/1053[107X))[133X
  
  [30X    [33X[0;6YMake    [10XHasSolvableFactorGroup[110X    slightly   more   efficient   (#1062
        ([7Xhttps://github.com/gap-system/gap/pull/1062[107X))[133X
  
  [30X    [33X[0;6YEnhance                     [10XHasXXFactorGroup[110X                    (#1066
        ([7Xhttps://github.com/gap-system/gap/pull/1066[107X))[133X
  
  [30X    [33X[0;6YRemove          GAP4stones          from          tests         (#1072
        ([7Xhttps://github.com/gap-system/gap/pull/1072[107X))[133X
  
  [30X    [33X[0;6Y[2XAsMonoid[102X    ([14XReference:    AsMonoid[114X)   and   [2XAsSemigroup[102X   ([14XReference:
        AsSemigroup[114X)  are  now  operations,  and  various  bugs  were resolved
        related   to   isomorphisms   of   semigroups   and   monoids   (#1112
        ([7Xhttps://github.com/gap-system/gap/pull/1112[107X))[133X
  
  [30X    [33X[0;6YMark   isomorphisms   between   trivial  groups  as  bijective  (#1116
        ([7Xhttps://github.com/gap-system/gap/pull/1116[107X))[133X
  
  [30X    [33X[0;6YSpeed   up  [2XRootMod[102X  ([14XReference:  RootMod[114X)  and  [2XRootsMod[102X  ([14XReference:
        RootsMod[114X)   for   moduli   with   large   prime   factors;   also  add
        [10XIS_PROBAB_PRIME_INT[110X           kernel          function          (#1141
        ([7Xhttps://github.com/gap-system/gap/pull/1141[107X))[133X
  
  [30X    [33X[0;6YThe  search  for  the  documentation of system setters and testers now
        returns     corresponding    attributes    and    properties    (#1144
        ([7Xhttps://github.com/gap-system/gap/pull/1144[107X))[133X
  
  [30X    [33X[0;6YRemove  command  line  options  [10X-c[110X,  [10X-U[110X,  [10X-i[110X and [10X-X[110X, add [10X--quitonbreak[110X
        (#1192       ([7Xhttps://github.com/gap-system/gap/pull/1192[107X),      #1265
        ([7Xhttps://github.com/gap-system/gap/pull/1265[107X),                   #1421
        ([7Xhttps://github.com/gap-system/gap/pull/1421[107X),                   #1448
        ([7Xhttps://github.com/gap-system/gap/pull/1448[107X))[133X
  
  [30X    [33X[0;6YRemove               Itanium               support              (#1163
        ([7Xhttps://github.com/gap-system/gap/pull/1163[107X))[133X
  
  [30X    [33X[0;6YAdding  two  strings  now  shows  a  more helpful error message (#1314
        ([7Xhttps://github.com/gap-system/gap/pull/1314[107X))[133X
  
  [30X    [33X[0;6YSuppress  [10XUnbound  global  variable[110X  warning  in  [2XIsBound[102X  ([14XReference:
        IsBound        for        a        global       variable[114X)       (#1334
        ([7Xhttps://github.com/gap-system/gap/pull/1334[107X))[133X
  
  [30X    [33X[0;6YIncrease     warning    level    for    Conway    polynomial    (#1363
        ([7Xhttps://github.com/gap-system/gap/pull/1363[107X))[133X
  
  [30X    [33X[0;6YPerformance improvements to maximal and intermediate subgroups, fix of
        [2XRepresentativeAction[102X    ([14XReference:    RepresentativeAction[114X)    (#1390
        ([7Xhttps://github.com/gap-system/gap/pull/1390[107X))[133X
  
  [30X    [33X[0;6YRevise  Chapter 52 of the reference manual (fp semigroups and monoids)
        (#1441 ([7Xhttps://github.com/gap-system/gap/pull/1441[107X))[133X
  
  [30X    [33X[0;6YImprove the performance of the [10XInfo[110X ([14XReference: Info[114X) statement (#1464
        ([7Xhttps://github.com/gap-system/gap/pull/1464[107X),                   #1770
        ([7Xhttps://github.com/gap-system/gap/pull/1770[107X))[133X
  
  [30X    [33X[0;6YWhen  printing  function  bodies,  avoid  some redundant spaces (#1498
        ([7Xhttps://github.com/gap-system/gap/pull/1498[107X))[133X
  
  [30X    [33X[0;6YAdd  kernel  functions  for  directly  accessing  entries  of GF2/8bit
        compressed                       matrices                       (#1585
        ([7Xhttps://github.com/gap-system/gap/pull/1585[107X))[133X
  
  [30X    [33X[0;6YAdd   [2XString[102X   ([14XReference:   String[114X)   method   for  functions  (#1591
        ([7Xhttps://github.com/gap-system/gap/pull/1591[107X))[133X
  
  [30X    [33X[0;6YCheck  modules were compiled with the same version of [5XGAP[105X when loading
        them (#1600 ([7Xhttps://github.com/gap-system/gap/pull/1600[107X))[133X
  
  [30X    [33X[0;6YWhen  printing  function,  reproduce  [10XTryNextMethod()[110X correctly (#1613
        ([7Xhttps://github.com/gap-system/gap/pull/1613[107X))[133X
  
  [30X    [33X[0;6YNew  [21XBitfields[121X  feature  ([14XReference:  Bitfields[114X)  providing  efficient
        support  for  packing multiple data items into a single word for cache
        and               memory               efficiency               (#1616
        ([7Xhttps://github.com/gap-system/gap/pull/1616[107X))[133X
  
  [30X    [33X[0;6YImproved  [11Xbin/BuildPackages.sh[111X,  in  particular  added option to abort
        upon failure (#2022 ([7Xhttps://github.com/gap-system/gap/pull/2022[107X))[133X
  
  [30X    [33X[0;6YRewrote  integer  code  (GMP)  for better performance of certain large
        integer  operations,  and  added  kernel  implementations  of  various
        functions, including these:[133X
  
        [30X    [33X[0;12YAdd   kernel  implementations  of  [2XAbsInt[102X  ([14XReference:  AbsInt[114X),
              [2XSignInt[102X  ([14XReference: SignInt[114X); add new kernel functions [10XABS_RAT[110X,
              [10XSIGN_RAT[110X;  and  speed  up  [14XReference:  mod[114X,  [2XRemInt[102X  ([14XReference:
              RemInt[114X), [2XQuoInt[102X ([14XReference: QuoInt[114X) for divisors which are small
              powers                 of                2                (#1045
              ([7Xhttps://github.com/gap-system/gap/pull/1045[107X))[133X
  
        [30X    [33X[0;12YAdd   kernel  implementations  of  [2XJacobi[102X  ([14XReference:  Jacobi[114X),
              [2XPowerModInt[102X   ([14XReference:  PowerModInt[114X),  [2XValuation[102X  ([14XReference:
              Valuation[114X)  (for  integers),  [2XPValuation[102X ([14XReference: PValuation[114X)
              (for                       integers)                      (#1075
              ([7Xhttps://github.com/gap-system/gap/pull/1045[107X))[133X
  
        [30X    [33X[0;12YAdd  kernel  implementation  of [2XFactorial[102X ([14XReference: Factorial[114X)
              (#1969 ([7Xhttps://github.com/gap-system/gap/pull/1969[107X))[133X
  
        [30X    [33X[0;12YAdd  kernel  implementation  of  [2XBinomial[102X  ([14XReference: Binomial[114X)
              (#1921 ([7Xhttps://github.com/gap-system/gap/pull/1921[107X))[133X
  
        [30X    [33X[0;12YAdd  kernel  implementation of [2XLcmInt[102X ([14XReference: LcmInt[114X) (#2019
              ([7Xhttps://github.com/gap-system/gap/pull/2019[107X))[133X
  
  [30X    [33X[0;6YCheck    version    of    kernel    for    package   versions   (#1600
        ([7Xhttps://github.com/gap-system/gap/pull/1600[107X))[133X
  
  [30X    [33X[0;6YAdd   new   [2XAlgebraicExtensionNC[102X   ([14XReference:   AlgebraicExtensionNC[114X)
        operation (#1665 ([7Xhttps://github.com/gap-system/gap/pull/1665[107X))[133X
  
  [30X    [33X[0;6YAdd   [10XNumberColumns[110X  and  [10XNumberRows[110X  to  [10XMatrixObj[110X  interface  (#1657
        ([7Xhttps://github.com/gap-system/gap/pull/1657[107X))[133X
  
  [30X    [33X[0;6Y[2XMinimalGeneratingSet[102X   ([14XReference:  MinimalGeneratingSet[114X)  returns  an
        answer  for  non-cyclic  groups  that already have a generating set of
        size       2       (which      hence      is      minimal)      (#1755
        ([7Xhttps://github.com/gap-system/gap/pull/1755[107X))[133X
  
  [30X    [33X[0;6YAdd  [2XGetWithDefault[102X ([14XReference: GetWithDefault[114X) which returns the [22Xn[122X-th
        element  of  the  list if it is bound, and the default value otherwise
        (#1762 ([7Xhttps://github.com/gap-system/gap/pull/1762[107X))[133X
  
  [30X    [33X[0;6YFast  method for [10XElmsBlist[110X when positions are a range with increment 1
        (#1773 ([7Xhttps://github.com/gap-system/gap/pull/1773[107X))[133X
  
  [30X    [33X[0;6YMake      permutations      remember     their     inverses     (#1831
        ([7Xhttps://github.com/gap-system/gap/pull/1831[107X))[133X
  
  [30X    [33X[0;6YAdd    invariant    forms    for    [10XGU(1,q)[110X    and    [10XSU(1,q)[110X   (#1874
        ([7Xhttps://github.com/gap-system/gap/pull/1874[107X))[133X
  
  [30X    [33X[0;6YImplement   [2XStandardAssociate[102X   ([14XReference:   StandardAssociate[114X)   and
        [2XStandardAssociateUnit[102X  ([14XReference:  StandardAssociateUnit[114X)  for [2XZmodnZ[102X
        ([14XReference:   ZmodnZ[114X),   clarify   documentation  for  [2XIsEuclideanRing[102X
        ([14XReference:                   IsEuclideanRing[114X)                  (#1990
        ([7Xhttps://github.com/gap-system/gap/pull/1990[107X))[133X
  
  [30X    [33X[0;6YImprove    documentation    and    interface    for    floats   (#2016
        ([7Xhttps://github.com/gap-system/gap/pull/2016[107X))[133X
  
  [30X    [33X[0;6YAdd   [2XPositionsProperty[102X   ([14XReference:  PositionsProperty[114X)  method  for
        non-dense lists (#2021 ([7Xhttps://github.com/gap-system/gap/pull/2021[107X))[133X
  
  [30X    [33X[0;6YAdd                   [10XTrivialGroup(IsFpGroup)[110X                   (#2037
        ([7Xhttps://github.com/gap-system/gap/pull/2037[107X))[133X
  
  [30X    [33X[0;6YChange [2XObjectifyWithAttributes[102X ([14XReference: ObjectifyWithAttributes[114X) to
        return            the           new           objects           (#2098
        ([7Xhttps://github.com/gap-system/gap/pull/2098[107X))[133X
  
  [30X    [33X[0;6YRemoved  a  never released undocumented [5XHPC-GAP[105X syntax extension which
        allowed  to  use  a  backtick/backquote  as  alias  for  [2XMakeImmutable[102X
        ([14XReference:                   MakeImmutable[114X).                   (#2202
        ([7Xhttps://github.com/gap-system/gap/pull/2202[107X)).[133X
  
  [30X    [33X[0;6YVarious changes (#2253 ([7Xhttps://github.com/gap-system/gap/pull/2253[107X)):[133X
  
        [30X    [33X[0;12YImprove      performance      and      memory      usage      of
              [10XImageKernelBlocksHomomorphism"[110X[133X
  
        [30X    [33X[0;12YDocument [2XLowIndexSubgroups[102X ([14XReference: LowIndexSubgroups[114X)[133X
  
        [30X    [33X[0;12YCorrect  [2XClassesSolvableGroup[102X  ([14XReference: ClassesSolvableGroup[114X)
              documentation  to  clarify  that  it requires, but does not test
              membership[133X
  
        [30X    [33X[0;12Yfix  [2XIsNaturalGL[102X  ([14XReference:  IsNaturalGL[114X)  for  trivial matrix
              groups with empty generating set[133X
  
  [30X    [33X[0;6YMake  it  possible  to  interrupt  [10Xrepeat  continue;  until false;[110X and
        similar        tight        loops       with       [21XCtrl-C[121X       (#2259
        ([7Xhttps://github.com/gap-system/gap/pull/2259[107X)).[133X
  
  [30X    [33X[0;6YImproved  [5XGAP[105X  testing  infrastructure,  extended  [5XGAP[105X test suite, and
        increased code coverage[133X
  
  [30X    [33X[0;6YCountless  other  tweaks,  improvements, fixes were applied to the [5XGAP[105X
        library, kernel and manual[133X
  
  [33X[0;0YFixed bugs:[133X
  
  [30X    [33X[0;6YFix  bugs in [2XNormalSubgroups[102X ([14XReference: NormalSubgroups[114X) and [2XPrintCSV[102X
        ([14XReference:                       PrintCSV[114X)                      (#433
        ([7Xhttps://github.com/gap-system/gap/pull/433[107X))[133X
  
  [30X    [33X[0;6YFix   nice   monomorphism   dispatch   for   [2XHallSubgroup[102X  ([14XReference:
        HallSubgroup[114X)   (e.g.   fixes   [10XHallSubgroup(GL(3,4),   [2,3])[110X)  (#559
        ([7Xhttps://github.com/gap-system/gap/pull/559[107X))[133X
  
  [30X    [33X[0;6YCheck  for  permutations whose degree would exceed the internal limit,
        and            document           that           limit           (#581
        ([7Xhttps://github.com/gap-system/gap/pull/581[107X))[133X
  
  [30X    [33X[0;6YFix segfault after quitting from the break loop in certain cases (#709
        ([7Xhttps://github.com/gap-system/gap/pull/709[107X)    which    fixes    #397
        ([7Xhttps://github.com/gap-system/gap/issues/397[107X))[133X
  
  [30X    [33X[0;6YFix  rankings  for [2XSocle[102X ([14XReference: Socle[114X) and [2XMinimalNormalSubgroups[102X
        ([14XReference:                MinimalNormalSubgroups[114X)               (#711
        ([7Xhttps://github.com/gap-system/gap/pull/711[107X))[133X
  
  [30X    [33X[0;6YMake      key     and     attribute     values     immutable     (#714
        ([7Xhttps://github.com/gap-system/gap/pull/714[107X))[133X
  
  [30X    [33X[0;6YMake     [10XOnTuples([-1],     (1,2))[110X     return     an    error    (#718
        ([7Xhttps://github.com/gap-system/gap/pull/718[107X))[133X
  
  [30X    [33X[0;6YFix       bug       in       [2XNewmanInfinityCriterion[102X       ([14XReference:
        NewmanInfinityCriterion[114X)   which   could  corrupt  the  [2XPCentralSeries[102X
        ([14XReference:          PCentralSeries[114X)          attribute          (#719
        ([7Xhttps://github.com/gap-system/gap/pull/719[107X))[133X
  
  [30X    [33X[0;6YThe  length  of  the  list  returned by [10XOnSetsPerm[110X is now properly set
        (#731 ([7Xhttps://github.com/gap-system/gap/pull/731[107X))[133X
  
  [30X    [33X[0;6YFix  [2XRemove[102X  ([14XReference:  Remove[114X) misbehaving when last member of list
        with        gaps        in       it       is       removed       (#766
        ([7Xhttps://github.com/gap-system/gap/pull/766[107X))[133X
  
  [30X    [33X[0;6YFix  bugs  in various methods for Rees (0-)matrix semigroups: [2XIsFinite[102X
        ([14XReference:    IsFinite[114X),   [2XIsOne[102X   ([14XReference:   IsOne[114X),   [2XEnumerator[102X
        ([14XReference:     Enumerator[114X),     [2XIsReesMatrixSemigroup[102X     ([14XReference:
        IsReesMatrixSemigroup[114X)   and   [2XIsReesZeroMatrixSemigroup[102X   ([14XReference:
        IsReesZeroMatrixSemigroup[114X)                                       (#768
        ([7Xhttps://github.com/gap-system/gap/pull/768[107X),                    #1676
        ([7Xhttps://github.com/gap-system/gap/pull/1676[107X))[133X
  
  [30X    [33X[0;6YFix              [2XIsFullTransformationSemigroup[102X             ([14XReference:
        IsFullTransformationSemigroup[114X)   to   work   correctly  for  the  full
        transformation       semigroup       of       degree      0      (#769
        ([7Xhttps://github.com/gap-system/gap/pull/769[107X))[133X
  
  [30X    [33X[0;6YFix   printing   very   large   (>  2^28  points)  permutations  (#782
        ([7Xhttps://github.com/gap-system/gap/pull/782[107X))[133X
  
  [30X    [33X[0;6YFix                       [10XIntersection([])[110X                       (#854
        ([7Xhttps://github.com/gap-system/gap/pull/854[107X))[133X
  
  [30X    [33X[0;6YFix    crash    in    [10XIsKernelFunction[110X    for    some   inputs   (#876
        ([7Xhttps://github.com/gap-system/gap/pull/876[107X))[133X
  
  [30X    [33X[0;6YFix  bug  in  [2XShortestVectors[102X ([14XReference: ShortestVectors[114X) which could
        cause  [2XOrthogonalEmbeddings[102X ([14XReference: OrthogonalEmbeddings[114X) to enter
        a break loop (#941 ([7Xhttps://github.com/gap-system/gap/pull/941[107X))[133X
  
  [30X    [33X[0;6YFix   crash   in   some   methods   involving   partial   perms  (#948
        ([7Xhttps://github.com/gap-system/gap/pull/948[107X))[133X
  
  [30X    [33X[0;6Y[10XFreeMonoid(0)[110X  no  longer satisfies [2XIsGroup[102X ([14XReference: IsGroup[114X) (#950
        ([7Xhttps://github.com/gap-system/gap/pull/950[107X))[133X
  
  [30X    [33X[0;6YFix  crash  when  invoking weak pointer functions on invalid arguments
        (#1009 ([7Xhttps://github.com/gap-system/gap/pull/1009[107X))[133X
  
  [30X    [33X[0;6YFix      a      bug     parsing     character     constants     (#1015
        ([7Xhttps://github.com/gap-system/gap/pull/1015[107X))[133X
  
  [30X    [33X[0;6YFix  several  bugs  and  crashes in [10XZ(p,d)[110X for invalid arguments, e.g.
        [10XZ(4,5)[110X,  [10XZ(6,3)[110X  (#1029 ([7Xhttps://github.com/gap-system/gap/pull/1029[107X),
        #1059       ([7Xhttps://github.com/gap-system/gap/pull/1059[107X),       #1383
        ([7Xhttps://github.com/gap-system/gap/pull/1383[107X),                   #1573
        ([7Xhttps://github.com/gap-system/gap/pull/1573[107X))[133X
  
  [30X    [33X[0;6YFix    starting    [5XGAP[105X   on   systems   with   large   inodes   (#1033
        ([7Xhttps://github.com/gap-system/gap/pull/1033[107X))[133X
  
  [30X    [33X[0;6YFix  [2XNrFixedPoints[102X  ([14XReference:  NrFixedPoints for a partial perm[114X) and
        [2XFixedPointsOfPartialPerm[102X  ([14XReference:  FixedPointsOfPartialPerm  for a
        partial  perm[114X)  for  a partial perm and a partial perm semigroup (they
        used  to  return the moved points rather than the fixed points) (#1034
        ([7Xhttps://github.com/gap-system/gap/pull/1034[107X))[133X
  
  [30X    [33X[0;6YFix  [2XMeetOfPartialPerms[102X  ([14XReference:  MeetOfPartialPerms[114X) when given a
        collection      of     1     or     0     partial     perms     (#1035
        ([7Xhttps://github.com/gap-system/gap/pull/1035[107X))[133X
  
  [30X    [33X[0;6YThe   behaviour  of  [2XAsPartialPerm[102X  ([14XReference:  AsPartialPerm  for  a
        transformation and a set of positive integer[114X) for a transformation and
        a            list            is            corrected            (#1036
        ([7Xhttps://github.com/gap-system/gap/pull/1036[107X))[133X
  
  [30X    [33X[0;6Y[2XIsomorphismReesZeroMatrixSemigroup[102X                         ([14XReference:
        IsomorphismReesZeroMatrixSemigroup[114X)  for  a  0-simple semigroup is now
        defined  on  the  zero  of  the  source  and  range  semigroups (#1038
        ([7Xhttps://github.com/gap-system/gap/pull/1038[107X))[133X
  
  [30X    [33X[0;6YFix isomorphisms from finitely-presented monoids to finitely-presented
        semigroups,  and  allow  isomorphisms  from  semigroups  to fp-monoids
        (#1039 ([7Xhttps://github.com/gap-system/gap/pull/1039[107X))[133X
  
  [30X    [33X[0;6YFix  [2XOne[102X  ([14XReference: One[114X) for a partial permutation semigroup without
        generators (#1040 ([7Xhttps://github.com/gap-system/gap/pull/1040[107X))[133X
  
  [30X    [33X[0;6YFix  [2XMemoryUsage[102X ([14XReference: MemoryUsage[114X) for positional and component
        objects (#1044 ([7Xhttps://github.com/gap-system/gap/pull/1044[107X))[133X
  
  [30X    [33X[0;6YFix  [10XPlainString[110X  causing  immutable  strings to become mutable (#1096
        ([7Xhttps://github.com/gap-system/gap/pull/1096[107X))[133X
  
  [30X    [33X[0;6YRestore          support          for          sparc64          (#1124
        ([7Xhttps://github.com/gap-system/gap/pull/1124[107X))[133X
  
  [30X    [33X[0;6YFix a problem with `<` for transformations, which could give incorrect
        results (#1130 ([7Xhttps://github.com/gap-system/gap/pull/1130[107X))[133X
  
  [30X    [33X[0;6YFix  crash  when comparing recursive data structures such as [10X[~] = [~][110X
        (#1151 ([7Xhttps://github.com/gap-system/gap/pull/1151[107X))[133X
  
  [30X    [33X[0;6YEnsure  output of [10XTrivialGroup(IsPermGroup)[110X has zero generators (#1247
        ([7Xhttps://github.com/gap-system/gap/pull/1247[107X))[133X
  
  [30X    [33X[0;6YFix     for    applying    the    [2XInverseGeneralMapping[102X    ([14XReference:
        InverseGeneralMapping[114X)   of   an   [2XIsomorphismFpSemigroup[102X  ([14XReference:
        IsomorphismFpSemigroup[114X)                                         (#1259
        ([7Xhttps://github.com/gap-system/gap/pull/1259[107X))[133X
  
  [30X    [33X[0;6YCollection       of      improvements      and      fixes:      (#1294
        ([7Xhttps://github.com/gap-system/gap/pull/1294[107X))[133X
  
        [30X    [33X[0;12YA fix for quotient rings of rings by structure constants[133X
  
        [30X    [33X[0;12YGeneric  routine for transformation matrix to rational canonical
              form[133X
  
        [30X    [33X[0;12YSpeed improvements to block homomorphisms[133X
  
        [30X    [33X[0;12YNew   routines   for   conjugates   or  subgroups  with  desired
              containment[133X
  
        [30X    [33X[0;12YPerformance  improvement  for conjugacy classes in groups with a
              huge  number  of  classes,  giving  significant  improvements to
              [2XIntermediateSubgroups[102X  ([14XReference:  IntermediateSubgroups[114X) (e.g.
              7-Sylow  subgroup in [22XPSL(7,2)[122X), ascending chain and thus in turn
              double coset calculations and further routines that rely on it[133X
  
  [30X    [33X[0;6YFix [2XEqFloat[102X ([14XReference: EqFloat[114X) to return correct results, instead of
        always               returning               [9Xfalse[109X              (#1370
        ([7Xhttps://github.com/gap-system/gap/pull/1370[107X))[133X
  
  [30X    [33X[0;6YVarious   changes,   including   fixes  for  [2XCallFuncList[102X  ([14XReference:
        CallFuncList[114X) (#1417 ([7Xhttps://github.com/gap-system/gap/pull/1417[107X))[133X
  
  [30X    [33X[0;6YBetter   define   the   result   of   [2XMappingPermListList[102X  ([14XReference:
        MappingPermListList[114X)                                            (#1432
        ([7Xhttps://github.com/gap-system/gap/pull/1432[107X))[133X
  
  [30X    [33X[0;6YCheck    the    arguments    to    [2XIsInjectiveListTrans[102X    ([14XReference:
        IsInjectiveListTrans[114X)       to       prevent       crashes      (#1435
        ([7Xhttps://github.com/gap-system/gap/pull/1435[107X))[133X
  
  [30X    [33X[0;6YChange  [2XBlownUpMat[102X  ([14XReference: BlownUpMat[114X) to return fail for certain
        invalid inputs (#1488 ([7Xhttps://github.com/gap-system/gap/pull/1488[107X))[133X
  
  [30X    [33X[0;6YFixes    for   creating   Green's   classes   of   semigroups   (#1492
        ([7Xhttps://github.com/gap-system/gap/pull/1492[107X),                   #1771
        ([7Xhttps://github.com/gap-system/gap/pull/1771[107X))[133X
  
  [30X    [33X[0;6YFix      [10XDoImmutableMatrix[110X      for      finite      fields     (#1504
        ([7Xhttps://github.com/gap-system/gap/pull/1504[107X))[133X
  
  [30X    [33X[0;6YMake   structural   copy   handle   boolean   lists   properly  (#1514
        ([7Xhttps://github.com/gap-system/gap/pull/1514[107X))[133X
  
  [30X    [33X[0;6YMinimal fix for algebraic extensions over finite fields of order > 256
        (#1569 ([7Xhttps://github.com/gap-system/gap/pull/1569[107X))[133X
  
  [30X    [33X[0;6YFix   for  computing  quotients  of  certain  algebra  modules  (#1669
        ([7Xhttps://github.com/gap-system/gap/pull/1669[107X))[133X
  
  [30X    [33X[0;6YFix  an  error  in  the  default  method  for  [2XPositionNot[102X ([14XReference:
        PositionNot[114X) (#1672 ([7Xhttps://github.com/gap-system/gap/pull/1672[107X))[133X
  
  [30X    [33X[0;6YImprovements  to  Rees  matrix  semigroups  code  and new tests (#1676
        ([7Xhttps://github.com/gap-system/gap/pull/1676[107X))[133X
  
  [30X    [33X[0;6YFix  [2XCodePcGroup[102X  ([14XReference:  CodePcGroup[114X) for the trivial polycyclic
        group (#1679 ([7Xhttps://github.com/gap-system/gap/pull/1679[107X))[133X
  
  [30X    [33X[0;6YFix  [10XFroidurePinExtendedAlg[110X  for  partial  permutation  monoids (#1697
        ([7Xhttps://github.com/gap-system/gap/pull/1697[107X))[133X
  
  [30X    [33X[0;6YFix  computing  the  radical of a zero dimensional associative algebra
        (#1701 ([7Xhttps://github.com/gap-system/gap/pull/1701[107X))[133X
  
  [30X    [33X[0;6YFix  a  bug  in  [2XRadicalOfAlgebra[102X  ([14XReference: RadicalOfAlgebra[114X) which
        could  cause  a  break  loop  for  some  associative  algebras  (#1716
        ([7Xhttps://github.com/gap-system/gap/pull/1716[107X))[133X
  
  [30X    [33X[0;6YFix  a  recursion  depth  trap  error  when  repeatedly  calling  [2XTest[102X
        ([14XReference:                        Test[114X)                        (#1753
        ([7Xhttps://github.com/gap-system/gap/pull/1753[107X))[133X
  
  [30X    [33X[0;6YFix  bugs  in [2XPrimePGroup[102X ([14XReference: PrimePGroup[114X) for direct products
        of [22Xp[122X-groups (#1754 ([7Xhttps://github.com/gap-system/gap/pull/1754[107X))[133X
  
  [30X    [33X[0;6YFix  [2XUpEnv[102X  ([14XReference:  UpEnv[114X) (available in break loops) when at the
        bottom           of           the           backtrace           (#1780
        ([7Xhttps://github.com/gap-system/gap/pull/1780[107X))[133X
  
  [30X    [33X[0;6YFix             [2XIsomorphismPartialPermSemigroup[102X            ([14XReference:
        IsomorphismPartialPermSemigroup[114X)    and   [2XIsomorphismPartialPermMonoid[102X
        ([14XReference:  IsomorphismPartialPermMonoid[114X) for permutation groups with
        0 generators (#1784 ([7Xhttps://github.com/gap-system/gap/pull/1784[107X))[133X
  
  [30X    [33X[0;6YFix  [2XDisplaySemigroup[102X ([14XReference: DisplaySemigroup[114X) for transformation
        semigroups (#1785 ([7Xhttps://github.com/gap-system/gap/pull/1785[107X))[133X
  
  [30X    [33X[0;6YFix  [21Xno  method found[121X errors in [2XMagmaWithOne[102X ([14XReference: MagmaWithOne[114X)
        and    [2XMagmaWithInverses[102X    ([14XReference:    MagmaWithInverses[114X)   (#1798
        ([7Xhttps://github.com/gap-system/gap/pull/1798[107X))[133X
  
  [30X    [33X[0;6YFix an error computing kernel of group homomorphism from fp group into
        permutation                        group                        (#1809
        ([7Xhttps://github.com/gap-system/gap/pull/1809[107X))[133X
  
  [30X    [33X[0;6YFix  an  error  in  MTC losing components when copying a new augmented
        coset table (#1809 ([7Xhttps://github.com/gap-system/gap/pull/1809[107X))[133X
  
  [30X    [33X[0;6YFix  output of [2XWhere[102X ([14XReference: Where[114X) in a break loop, which pointed
        at     the     wrong     code    line    in    some    cases    (#1814
        ([7Xhttps://github.com/gap-system/gap/pull/1814[107X))[133X
  
  [30X    [33X[0;6YFix  the  interaction  of  signals  in  [5XGAP[105X  and the [5XIO[105X package (#1851
        ([7Xhttps://github.com/gap-system/gap/pull/1851[107X))[133X
  
  [30X    [33X[0;6YMake   line   editing  resilient  to  [10XLineEditKeyHandler[110X  failure  (in
        particular,              don't              crash)              (#1856
        ([7Xhttps://github.com/gap-system/gap/pull/1856[107X))[133X
  
  [30X    [33X[0;6YOmit  non-characters  from  [2XPermChars[102X  ([14XReference:  PermChars[114X) results
        (#1867 ([7Xhttps://github.com/gap-system/gap/pull/1867[107X))[133X
  
  [30X    [33X[0;6YFix   [2XExteriorPower[102X   ([14XReference:  ExteriorPowerOfAlgebraModule[114X)  when
        exterior  power  is  0-dimensional  (used  to  return  a 1-dimensional
        result) (#1872 ([7Xhttps://github.com/gap-system/gap/pull/1872[107X))[133X
  
  [30X    [33X[0;6YFix  recursion  depth  trap and other improvements for quotients of fp
        groups (#1884 ([7Xhttps://github.com/gap-system/gap/pull/1884[107X))[133X
  
  [30X    [33X[0;6YFix  a  bug  in the computation of a permutation group isomorphic to a
        group               of               automorphisms              (#1907
        ([7Xhttps://github.com/gap-system/gap/pull/1907[107X))[133X
  
  [30X    [33X[0;6YFix     bug     in    [2XInstallFlushableValueFromFunction[102X    ([14XReference:
        InstallFlushableValueFromFunction[114X)                              (#1920
        ([7Xhttps://github.com/gap-system/gap/pull/1920[107X))[133X
  
  [30X    [33X[0;6YFix    [2XONanScottType[102X    ([14XReference:   ONanScottType[114X)   and   introduce
        [2XRestrictedInverseGeneralMapping[102X                            ([14XReference:
        RestrictedInverseGeneralMapping[114X)                                (#1937
        ([7Xhttps://github.com/gap-system/gap/pull/1937[107X))[133X
  
  [30X    [33X[0;6YFix   [2XQuotientMod[102X  ([14XReference:  QuotientMod[114X)  documentation,  and  the
        integer implementation. This partially reverts changes made in version
        4.7.8  in  2013.  The  documentation  is now correct (resp. consistent
        again),  and  several  corner  cases, e.g. [10XQuotientMod(0,0,m)[110X now work
        correctly (#1991 ([7Xhttps://github.com/gap-system/gap/pull/1991[107X))[133X
  
  [30X    [33X[0;6YFix  [2XPositionProperty[102X  ([14XReference:  PositionProperty[114X)  with  [3Xfrom[103X  < 1
        (#2056 ([7Xhttps://github.com/gap-system/gap/pull/2056[107X))[133X
  
  [30X    [33X[0;6YFix  inefficiency  when  dealing  with  certain algebra modules (#2058
        ([7Xhttps://github.com/gap-system/gap/pull/2058[107X))[133X
  
  [30X    [33X[0;6YRestrict  capacity of plain lists to [22X2^28[122X in 32-bit and [22X2^60[122X in 64-bit
        builds (#2064 ([7Xhttps://github.com/gap-system/gap/pull/2064[107X))[133X
  
  [30X    [33X[0;6YFix crashes with very large heaps (> 2 GB) on 32 bit systems, and work
        around  a  bug in [10Xmemmove[110X in 32-bit glibc versions which could corrupt
        memory    (affects    most   current   Linux   distributions)   (#2166
        ([7Xhttps://github.com/gap-system/gap/pull/2166[107X)).[133X
  
  [30X    [33X[0;6YFix  name  of  the [10Xreversed[110X option in documentation of [2XLoadAllPackages[102X
        ([14XReference:                   LoadAllPackages[114X)                  (#2167
        ([7Xhttps://github.com/gap-system/gap/pull/2167[107X)).[133X
  
  [30X    [33X[0;6YFix     [10XTriangulizedMat([])[110X     (see    [2XTriangulizedMat[102X    ([14XReference:
        TriangulizedMat[114X) to return an empty list instead of producing an error
        (#2260 ([7Xhttps://github.com/gap-system/gap/pull/2260[107X)).[133X
  
  [30X    [33X[0;6YFix  several  potential  (albeit  rare)  crashes  related  to  garbage
        collection (#2321 ([7Xhttps://github.com/gap-system/gap/pull/2321[107X), #2313
        ([7Xhttps://github.com/gap-system/gap/pull/2313[107X),                   #2320
        ([7Xhttps://github.com/gap-system/gap/pull/2320[107X)).[133X
  
  [33X[0;0YRemoved or obsolete functionality:[133X
  
  [30X    [33X[0;6YMake  [10XSetUserPreferences[110X  obsolete  (use [2XSetUserPreference[102X ([14XReference:
        SetUserPreference[114X)                    instead)                   (#512
        ([7Xhttps://github.com/gap-system/gap/pull/512[107X))[133X
  
  [30X    [33X[0;6YRemove         undocumented         [10XNameIsomorphismClass[110X         (#597
        ([7Xhttps://github.com/gap-system/gap/pull/597[107X))[133X
  
  [30X    [33X[0;6YRemove  unused  code  for rational classes of permutation groups (#886
        ([7Xhttps://github.com/gap-system/gap/pull/886[107X))[133X
  
  [30X    [33X[0;6YRemove  unused  and undocumented [10XRandomizer[110X and [10XCheapRandomizer[110X (#1113
        ([7Xhttps://github.com/gap-system/gap/pull/1113[107X))[133X
  
  [30X    [33X[0;6YRemove  [11Xinstall-tools.sh[111X script and documentation mentioning it (#1305
        ([7Xhttps://github.com/gap-system/gap/pull/1305[107X))[133X
  
  [30X    [33X[0;6YWithdraw     [10XCallWithTimeout[110X     and     [10XCallWithTimeoutList[110X    (#1324
        ([7Xhttps://github.com/gap-system/gap/pull/1324[107X))[133X
  
  [30X    [33X[0;6YMake  [10XRecFields[110X  obsolete (use [2XRecNames[102X ([14XReference: RecNames[114X) instead)
        (#1331 ([7Xhttps://github.com/gap-system/gap/pull/1331[107X))[133X
  
  [30X    [33X[0;6YRemove     undocumented     [10XSuPeRfail[110X    and    [10XREAD_COMMAND[110X    (#1374
        ([7Xhttps://github.com/gap-system/gap/pull/1374[107X))[133X
  
  [30X    [33X[0;6YRemove  unused  [11Xoldmatint.gi[111X  (old  methods for functions that compute
        Hermite   and   Smith   normal   forms  of  integer  matrices)  (#1765
        ([7Xhttps://github.com/gap-system/gap/pull/1765[107X))[133X
  
  [30X    [33X[0;6YMake              [10XTRANSDEGREES[110X             obsolete             (#1852
        ([7Xhttps://github.com/gap-system/gap/pull/1852[107X))[133X
  
  
  [1X2.1-2 [33X[0;0Y[5XHPC-GAP[105X[101X[1X[133X[101X
  
  [33X[0;0Y[5XGAP[105X  includes experimental code to support multithreaded programming in [5XGAP[105X,
  dubbed  [5XHPC-GAP[105X (where HPC stands for "high performance computing"). [5XGAP[105X and
  [5XHPC-GAP[105X  codebases diverged during the project, and we are currently working
  on  unifying  the codebases and incorporating the [5XHPC-GAP[105X code back into the
  mainstream [5XGAP[105X versions.[133X
  
  [33X[0;0YThis  is  work in progress, and [5XHPC-GAP[105X as it is included with [5XGAP[105X right now
  still  suffers  from various limitations and problems, which we are actively
  working  on to resolve. However, including it with [5XGAP[105X (disabled by default)
  considerably  simplifies  development of [5XHPC-GAP[105X. It also means that you can
  very easily get a (rough!) sneak peak of [5XHPC-GAP[105X. It comes together with the
  new  manual  book  called  "[5XHPC-GAP[105X  Reference  Manual"  and  located in the
  `doc/hpc` directory.[133X
  
  [33X[0;0YUsers interested in experimenting with shared memory parallel programming in
  [5XGAP[105X    can    build    [5XHPC-GAP[105X    by   following   the   instructions   from
  [7Xhttps://github.com/gap-system/gap/wiki/Building-HPC-GAP[107X.    While    it   is
  possible  to build [5XHPC-GAP[105X from a release version of [5XGAP[105X you downloaded from
  the  [5XGAP[105X  website,  due  to the ongoing development of [5XHPC-GAP[105X, we recommend
  that you instead build [5XHPC-GAP[105X from the latest development version available
  in the [5XGAP[105X repository at GitHub, i.e. [7Xhttps://github.com/gap-system/gap[107X.[133X
  
  
  [1X2.1-3 [33X[0;0YNew and updated packages since [5XGAP[105X[101X[1X 4.8.10[133X[101X
  
  [33X[0;0YThere  were  132  packages  redistributed  together with [5XGAP[105X 4.8.10. The [5XGAP[105X
  4.9.1  distribution  includes  134  packages,  including numerous updates of
  previously redistributed packages, and some major changes outlined below.[133X
  
  [33X[0;0YThe  libraries  of  small,  primitive and transitive groups which previously
  were  an  integral  part  of  [5XGAP[105X  were  split  into three separate packages
  PrimgGrp          ([7Xhttp://gap-packages.github.io/primgrp/[107X),         SmallGrp
  ([7Xhttps://gap-packages.github.io/smallgrp/[107X)            and           TransGrp
  ([7Xhttp://www.math.colostate.edu/~hulpke/transgrp/[107X):[133X
  
  [30X    [33X[0;6YThe  [5XPrimGrp[105X  package  by  Alexander Hulpke, Colva M. Roney-Dougal and
        Christopher  Russell  provides  the  library  of primitive permutation
        groups  which  includes,  up  to  permutation isomorphism (i.e., up to
        conjugacy   in  the  corresponding  symmetric  group),  all  primitive
        permutation groups of degree < 4096.[133X
  
  [30X    [33X[0;6YThe  [5XSmallGrp[105X  package  by Bettina Eick, Hans Ulrich Besche and Eamonn
        O’Brien  provides  the  library of groups of certain [21Xsmall[121X orders. The
        groups  are  sorted  by  their  orders  and  they  are  listed  up  to
        isomorphism;  that is, for each of the available orders a complete and
        irredundant  list  of  isomorphism  type  representatives of groups is
        given.[133X
  
  [30X    [33X[0;6YThe  [5XTransGrp[105X  package  by  Alexander  Hulpke  provides the library of
        transitive  groups,  with  an  optional  download  of  the  library of
        transitive groups of degree 32.[133X
  
  [33X[0;0YFor  backwards  compatibility, these are required packages in [5XGAP[105X 4.9 (i.e.,
  [5XGAP[105X  will  not start without them). We plan to change this for [5XGAP[105X 4.10 (see
  #2434   ([7Xhttps://github.com/gap-system/gap/pull/2434[107X)),  once  all  packages
  which  currently  implicitly  rely  on  these  new  packages had time to add
  explicit           dependencies           on           them           (#1650
  ([7Xhttps://github.com/gap-system/gap/pull/1650[107X),                         #1714
  ([7Xhttps://github.com/gap-system/gap/pull/1714[107X)).[133X
  
  [33X[0;0YThe  new  [5XZeroMQInterface[105X package by Markus Pfeiffer and Reimer Behrends has
  been  added  for  the redistribution. It provides both low-level bindings as
  well  as  some  higher  level interfaces for the ZeroMQ ([7Xhttp://zeromq.org/[107X)
  message passing library for [5XGAP[105X and [5XHPC-GAP[105X enabling lightweight distributed
  computation.[133X
  
  [33X[0;0YThe [5XHAPprime[105X package by Paul Smith is no longer redistributed with [5XGAP[105X. Part
  of  the  code  has  been  incorporated into the [5XHAP[105X package. Its source code
  repository,  containing  the code of the last distributed version, can still
  be found at [7Xhttps://github.com/gap-packages/happrime[107X.[133X
  
  [33X[0;0YAlso,  the  [5XParGAP[105X package by Gene Cooperman is no longer redistributed with
  [5XGAP[105X because it no longer can be compiled with [5XGAP[105X 4.9 (see this announcement
  ([7Xhttps://mail.gap-system.org/pipermail/gap/2018-March/001082.html[107X)).     Its
  source code repository, containing the code of the last distributed version,
  plus  some  first  fixes  needed for compatibility for GAP 4.9, can still be
  found  at  [7Xhttps://github.com/gap-packages/pargap[107X. If somebody is interested
  in repairing this package and taking over its maintenance, so that it can be
  distributed again, please contact the [5XGAP[105X team.[133X
  
  
  [1X2.2 [33X[0;0Y[5XGAP[105X[101X[1X 4.9.2 (July 2018)[133X[101X
  
  
  [1X2.2-1 [33X[0;0YChanges in the core [5XGAP[105X[101X[1X system introduced in [5XGAP[105X[101X[1X 4.9.2[133X[101X
  
  [33X[0;0YFixed bugs that could lead to break loops:[133X
  
  [30X    [33X[0;6YFixed  a  bug  in  iterating  over  an  empty cartesian product (#2421
        ([7Xhttps://github.com/gap-system/gap/pull/2421[107X)).      [Reported      by
        @isadofschi][133X
  
  [33X[0;0YFixed bugs that could lead to crashes:[133X
  
  [30X    [33X[0;6YFixed  a crash after entering [10Xreturn;[110X in a [21Xmethod not found[121X break loop
        (#2449 ([7Xhttps://github.com/gap-system/gap/pull/2449[107X)).[133X
  
  [30X    [33X[0;6YFixed  a  crash  when  an  error  occurs  and  [2XOutputLogTo[102X ([14XReference:
        OutputLogTo  for  streams[114X)  points  to  a stream which internally uses
        another stream (#2596 ([7Xhttps://github.com/gap-system/gap/pull/2596[107X)).[133X
  
  [33X[0;0YFixed bugs that could lead to incorrect results:[133X
  
  [30X    [33X[0;6YFixed  a  bug  in  computing maximal subgroups, which broke some other
        calculations,  in particular, computing intermediate subgroups. (#2488
        ([7Xhttps://github.com/gap-system/gap/pull/2488[107X)).   [Reported  by  Seyed
        Hassan Alavi][133X
  
  [33X[0;0YOther fixed bugs and further improvements:[133X
  
  [30X    [33X[0;6YProfiling  now  correctly  handles  calls  to  [10Xlongjmp[110X  and  allows to
        generate  profiles using version 2.0.1 of the [5XProfiling[105X package (#2444
        ([7Xhttps://github.com/gap-system/gap/pull/2444[107X)).[133X
  
  [30X    [33X[0;6YThe  [11Xbin/gap.sh[111X  script  now respects the [10XGAP_DIR[110X environment variable
        (#2465 ([7Xhttps://github.com/gap-system/gap/pull/2465[107X)). [Contributed by
        RussWoodroofe][133X
  
  [30X    [33X[0;6YThe  [11Xbin/BuildPackages.sh[111X  script now properly builds binaries for the
        [5Xsimpcomp[105X                         package                        (#2475
        ([7Xhttps://github.com/gap-system/gap/pull/2475[107X)).[133X
  
  [30X    [33X[0;6YFixed  a bug in restoring a workspace, which prevented [5XGAP[105X from saving
        the   history   if  a  workspace  was  loaded  during  startup  (#2578
        ([7Xhttps://github.com/gap-system/gap/pull/2578[107X)).[133X
  
  
  [1X2.2-2 [33X[0;0YNew and updated packages since [5XGAP[105X[101X[1X 4.9.1[133X[101X
  
  [33X[0;0YThis  release  contains  updated  versions  of  22  packages  from [5XGAP[105X 4.9.1
  distribution. Additionally, it has three new packages. The new [5XJupyterKernel[105X
  package  by  Markus  Pfeiffer  provides  a  so-called [13Xkernel[113X for the Jupyter
  interactive  document  system  ([7Xhttps://jupyter.org/[107X). This package requires
  Jupyter  to be installed on your system (see [7Xhttps://jupyter.org/install[107X for
  instructions).  It also requires [5XGAP[105X packages [5XIO[105X, [5XZeroMQInterface[105X, [5Xjson[105X, and
  also  two  new  packages  by  Markus  Pfeiffer called [5Xcrypting[105X and [5Xuuid[105X, all
  included  into  [5XGAP[105X 4.9.2 distribution. The [5XJupyterKernel[105X package is not yet
  usable on Windows.[133X
  
