Skip to content

GAP 4.12 release notes

Alexander Konovalov edited this page Jun 10, 2021 · 5 revisions

This page contains most important changes planned to appear in GAP 4.12 release series. We publish it here so that others may easily see what's anticipated in the next major release.

The list below is automatically generated using the dev/releases/generate_release_notes.py script. Please do not edit this page - it will be periodically manually updated with an autogenerated content, and all your changes will be lost. Instead, if you see that a PR has a poorly formulated title or should be listed in another category, please edit the PR itself, and your changes will be picked up after the next run of the script.

GAP 4.12.0

Release Notes

New features and major changes

  • #3925 Added the missing perfect groups of order up to a million

Fixed bugs that could lead to incorrect results

  • #3695 Fix issue with test outputs which do not end with a newline when using the rewriteToFile option of Test
  • #4035 normalize package name to all-lowercase in DirectoriesPackagePrograms
  • #4206 Fixed DirectoriesPackageLibrary, DirectoriesPackagePrograms when they are called during package loading.
  • #4317 fixed Cite(); it had used the number of the day, not the year

Fixed bugs that could lead to crashes

  • #3808 kernel: fix a crash and weirdness related to 'for' loops
  • #3825 Handle out of memory errors better (variant of PR #3793)
  • #4442 Fix crash when incorrectly accessing a compressed vector v via v{...}[...] or v{...}{...} as if it was a matrix
  • #4508 Fix crash in LocationFunc when the input has incomplete location information

Fixed bugs that could lead to break loops

  • #3693 Improve ViewString so Strings are correctly escaped
  • #3747 Fix unexpected error when testing permutation groups for conjugacy
  • #3903 Bug Fix: 'Cycles(( ),[ ])' now correctly returns '[ ]'
  • #4037 normalize package name to all-lowercase in IsPackageLoaded and GAPInfo.PackagesInfo
  • #4108 Fix some unexpected error when inverting or computing random elements of algebraic extensions of finite fields of size > 256
  • #4146 Fixed Cite w.r.t. the encoding used; let BibEntry always use encoding "UTF-8".
  • #4239 Added missing comparison w.r.t. equality of something and an object with memory (IsObjWithMemory).
  • #4245 Free (associative or Lie) algebras: admit non-fields as left acting domains, fixed the zero-dimensional case.
  • #4505 Fix ShallowCopy for IteratorOfPartitionsSet

Other fixed bugs

  • #3761 Fix bugs in HPC-GAP serialization code and improve its tests
  • #3931 Do not ignore #@ comments after empty line at start of test file
  • #4219 Performance additions to generic 2-cohomology and Automorphism group/Isomorphism test

Improved and extended functionality

  • #3628 Add Info statement when assigning already assigned Attributes
  • #3643 attempt to make vector and matrix objects official
  • #3668 support several package instances with same version
  • #3713 Add tracing and counting of built-in operations
  • #3740 Speed up printing of large permutations
  • #3858 Add DeclareGlobalName to get rid of more uses of InstallValue
  • #3861 ENHANCE: Extended range of simple groups
  • #3862 Rename QUIT_GAP, FORCE_QUIT_GAP and GAP_EXIT_CODE to QuitGap, ForceQuitGap and GapExitCode (the old names remain available as synonyms)
  • #3901 Allow function-call syntax for general mappings.
  • #3911 PageSource now gives a hint, that ApplicableMethod can be used to find the methods installed for an operation
  • #3914 Added the attribute 'InnerAutomorphismGroup' for groups
  • #3920 Admit 'CentralIdempotentsOfAlgebra' for algebras without 'One'
  • #3933 Add libtool versioning to libgap shared library
  • #3986 Add some missing methods for machine floats (Sinh, Cosh, Tanh, Asinh, Acosh, Atanh, CubeRoot, Erf, Gamma)
  • #3992 Introduce a Pluralize function for strings
  • #4000 NormalClosure: accept list of normal generators as second argument
  • #4074 Add IteratorOfPartitionsSet an iterator for all unordered partitions of a set into pairwise disjoint nonempty sets
  • #4080 Allow registering global handlers for GAP_TRY/GAP_CATCH
  • #4099 Passing a .tst file as argument to gap will now invoke Test on it, instead of trying to Read it (which will fail)
  • #4105 The function OrderMod admits an optional third argument that is a multiple of the order one wants to compute
  • #4111 In FreeGroup, support the option generatorNames to prescribe the names of the generators.
  • #4145 Improved some errors messages for various set operations (AddSet, UniteSet, ...).
  • #4168 Improved the documentation concerning GASMAN, added CollectGarbage.
  • #4186 Improved the performance of CoeffientsQadic for long results.
  • #4201 Support an optional transformFunction in Test(), similar to compareFunction.
  • #4207 Added the group constructors PGammaL, PSigmaL, and their methods for permutation groups.
  • #4296 Allow function-call syntax for evaluating univariate polynomials
  • #4333 added GO(1,q), SO(1,q), Omega(1,q), Omega(-1,2,q)
  • #4334 added the group constructors PGO and PSO
  • #4361 added an \in method for GO(e,d,q) and SO(e,d,q) that is based on the stored invariant quadratic form
  • #4438 improved documentation for random sources
  • #4465 added the command line option --print-gaproot
  • #4483 Write --help output to *stdout* not *errout*
  • #4529 IsNoImmediateMethodsObject is now a documented filter; it is intended for performance improvements.
  • #4537 Implement IsMinimalNonmonomial for nonsolvable groups

New features

  • #4104 Add TaylorSeriesRationalFunction and improve Derivative for univariate rational functions
  • #4295 Add OpenExternal, a function for opening files in the OS

Performance improvements

Improvements to the interface which allows 3rd party code to link GAP as a library

  • #4215 libgap API: Expose a minimal interface to the garbage collector, via GAP_MarkBag, GAP_CollectBags

Improvements in the support for using the Julia garbage collector

Changed documentation

Packages

Other changes

  • #3664 Tweak Rees matrix semigroups code
  • #3694 Deprecate undocumented extra arguments for DeclareGlobalFunction and InstallGlobalFunction
  • #3702 Make TmpNameAllArchs obsolete by enhancing TmpName
  • #3721 Add optimised SmallestMovedPoint implementation
  • #3759 Fix an issue with error reporting in parallel threads
  • #3792 Use Info not Print in Decomposition
  • #3796 Remove -B option for overriding the architecture
  • #3822 Make the assertion level (which controls Assert statements) thread local when using HPC-GAP
  • #3912 Update of GMP from version 6.1.2 (December 2016) to version 6.2.0 (January 2020)
  • #4023 Improve float literal parsing, fix some inconsistencies in it
  • #4026 For the buildsystem now only .d files that exist are included
  • #4126 Added a command line option --version.
  • #4128 Added OutputGzipFile, in order to create a gzip compressed file
  • #4132 kernel: remove output stream stack
  • #4142 Extend BindConstant, MakeConstantGlobal to all object types.
  • #4232 Iterators for lists: fixed IsDoneIterator, improved the performance
  • #4493 Remove optional crc argument to LoadDynamicModule and LoadStaticModule
  • #4504 Turn IsLexicographicallyLess into an obsolete synonym for \<
  • #4519 Make third argument of DeclareRepresentation and NewRepresentation optional, and document that it and the fourth argument are (and always were) unused
Clone this wiki locally