Skip to content

Commit ba1e41e

Browse files
authored
Update CHANGES.md for GAP 4.15.0 (#6081)
Also slightly tweak release_notes.py so it's less work for me to copy & paste its output into CHANGES.md
1 parent b77b634 commit ba1e41e

File tree

2 files changed

+162
-1
lines changed

2 files changed

+162
-1
lines changed

CHANGES.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,165 @@
11
# GAP - history of changes
22

3+
## GAP 4.15.0 (August 2025)
4+
5+
The following gives an overview of the changes compared to the previous
6+
release. This list is not complete, many more internal or minor changes
7+
were made, but we tried to only list those changes which we think might
8+
affect some users directly.
9+
10+
### New features
11+
12+
- [#5873](https://github.com/gap-system/gap/pull/5873) Add command line option `--packagedirs` and GAP function `ExtendPackageDirectories()` to make it easier to use custom packages
13+
14+
### Performance improvements
15+
16+
- [#6075](https://github.com/gap-system/gap/pull/6075) Speed up `CharacterDegrees`
17+
- [#6060](https://github.com/gap-system/gap/pull/6060) Optimize `IsZero` and `IsOne` for rational functions and (Laurent) polynomials
18+
- [#6020](https://github.com/gap-system/gap/pull/6020) Speed up `IsRegularPGroup` for direct products
19+
- [#6008](https://github.com/gap-system/gap/pull/6008) Faster `IsFinite` for rational matrix groups (and hence for matrix groups over cyclotomics as well)
20+
- [#6003](https://github.com/gap-system/gap/pull/6003) Fix a bug in the Tietze code that could lead to unexpected errors
21+
- [#5959](https://github.com/gap-system/gap/pull/5959) Make meataxe endomorphism ring computation faster in some cases
22+
23+
### Improved and extended functionality
24+
25+
- [#6035](https://github.com/gap-system/gap/pull/6035) Small improvements in creating large simple groups and their maximals
26+
- [#6011](https://github.com/gap-system/gap/pull/6011) Add an `Irr` method for natural alternating groups, using the generic character table
27+
- [#5977](https://github.com/gap-system/gap/pull/5977) Add `SortedListBy` function (related to `SortedList` the same as `SortBy` relates to `Sort`)
28+
- [#5970](https://github.com/gap-system/gap/pull/5970) introduce `MayBeHandledByNiceMonomorphism`, in order to detect early whether a group shall be handled by nice monomorphisms
29+
- [#5966](https://github.com/gap-system/gap/pull/5966) add `IsDicyclicGroup` and `DicyclicGenerators`
30+
- [#5960](https://github.com/gap-system/gap/pull/5960) Add support for `#@elif` clauses in `Test` files
31+
- [#5906](https://github.com/gap-system/gap/pull/5906) Ensure `Comm` for group automorphisms does not trigger a coset enumeration
32+
33+
### Removed or obsolete functionality
34+
35+
- [#6067](https://github.com/gap-system/gap/pull/6067) Deprecate `InstallValue` for anything but plain objects (i.e., plain GAP lists, records or strings) and warn if it is done anyway
36+
- [#5943](https://github.com/gap-system/gap/pull/5943) Remove obsolete functionality
37+
- [#5912](https://github.com/gap-system/gap/pull/5912) Remove support for the deprecated `OtherPackagesLoadedInAdvance` in `PackageInfo.g`
38+
39+
### Changes related to handling of packages
40+
41+
- [#5972](https://github.com/gap-system/gap/pull/5972) The GAP package manager is now loaded automatically at startup by default
42+
43+
### Build system
44+
45+
- [#6010](https://github.com/gap-system/gap/pull/6010) Fix build issues when compiling GAP with GCC 15
46+
- [#5992](https://github.com/gap-system/gap/pull/5992) Fix a potential linker issue during `make install` on macOS
47+
- [#5859](https://github.com/gap-system/gap/pull/5859) Increase GAP kernel version to 10.0 to indicate there were breaking kernel changes
48+
49+
### Fixed bugs that could lead to incorrect results
50+
51+
- [#6002](https://github.com/gap-system/gap/pull/6002) Fix bug in `SpecialPcgs` that could corrupt group objects and cause nonsense outputs
52+
- [#5982](https://github.com/gap-system/gap/pull/5982) Fix a bug that could lead to `ConjugacyClassesSubgroups` to return wrong results when applied to permutation groups
53+
- [#5975](https://github.com/gap-system/gap/pull/5975) Fix bug in double cosets computation that could lead to wrong results (the error is detectable by the sizes of the double cosets not summing up to the group order)
54+
- [#5964](https://github.com/gap-system/gap/pull/5964) Fix a bug in the code computing automorphisms of modules, which e.g. affects computing automorphism groups and could lead to outer automorphisms being missed
55+
- [#5947](https://github.com/gap-system/gap/pull/5947) Fix `AlgebraHomomorphismByImages` to not blindly return a linear mapping if the third argument is a basis object; instead check whether this map is really an algebra homomorphism
56+
- [#5874](https://github.com/gap-system/gap/pull/5874) Fix `ImmutableMatrix` to not strip memory from matrices in the `IsObjWithMemory` filter
57+
58+
### Fixed bugs that could lead to crashes
59+
60+
- [#6074](https://github.com/gap-system/gap/pull/6074) Fix an obscure crash in the GAP interpreter involving character literals like `'\200'`
61+
62+
### Fixed bugs that could lead to unexpected errors
63+
64+
- [#6033](https://github.com/gap-system/gap/pull/6033) Fix regression introduced in GAP 4.13.1 that could cause coset enumeration to fail in cases where it used to work fine in GAP 4.13.0
65+
- [#5997](https://github.com/gap-system/gap/pull/5997) Fix error in membership test for rational functions
66+
- [#5955](https://github.com/gap-system/gap/pull/5955) Fix errors for algebra homomorphisms (infinite recursions and "no method found" errors), in particular concerning homomorphisms that are constructed as inverse mappings
67+
- [#5935](https://github.com/gap-system/gap/pull/5935) Fix an unexpected error in `IsomorphismGroups`
68+
- [#5908](https://github.com/gap-system/gap/pull/5908) Fix `Extensions` for nonsolvable group and trivial cohomology
69+
- [#5907](https://github.com/gap-system/gap/pull/5907) Fix unexpected errors in `recog` and `genss` by improving `GroupWithMemory` when given compressed matrices over small fields
70+
- [#5903](https://github.com/gap-system/gap/pull/5903) Fix `FactorCosetAction(G, G)` for perm. groups
71+
72+
### Other fixed bugs
73+
74+
- [#6070](https://github.com/gap-system/gap/pull/6070) Ensure `InterpolatedPolynomial` always returns a polynomial, even for "constant" input
75+
- [#6038](https://github.com/gap-system/gap/pull/6038) Fix an unexpected error when using `DotFileLattice`
76+
- [#6005](https://github.com/gap-system/gap/pull/6005) Ensure ˋDoubleCosets( G, U, V )ˋ checks that both ˋUˋ and ˋVˋ are contained in ˋGˋ, and immediately throws an error if this is not the case
77+
- [#5936](https://github.com/gap-system/gap/pull/5936) Fix `--quiet` in the command line interface to be identical to `-q`
78+
- [#5900](https://github.com/gap-system/gap/pull/5900) Fix `IsomorphismPermGroupOrFailFpGroup` to honor its second argument, which limits the coset table size that gets used before it gives up
79+
- [#5864](https://github.com/gap-system/gap/pull/5864) Fix 'gap --version' to send its output to stdout and include a trailing newline
80+
81+
### Other changes
82+
83+
- [#5904](https://github.com/gap-system/gap/pull/5904) Change three argument version of `Assert` to raise an error if the assertion condition evaluates to `false` (instead of merely printing a message)
84+
85+
### Package distribution
86+
87+
#### New packages redistributed with GAP
88+
89+
- [**ALCO**](https://bnasmith.github.io/alco/) 1.1.1: Tools for algebraic combinatorics, by Benjamin Nasmith
90+
- [**IBNP**](https://gap-packages.github.io/ibnp/) 0.16: Involutive Bases for Noncommutative Polynomials, by Gareth A. Evans, Christopher D. Wensley
91+
- [**InduceReduce**](https://gap-packages.github.io/InduceReduce/) 1.1: Unger's algorithm to compute character tables of finite groups, by Jonathan Gruber
92+
93+
#### Packages no longer redistributed with GAP
94+
95+
- **ToricVarieties**: This package was withdrawn by the authors as they stopped development on it in favor of a more featureful successor as part of the OSCAR computer algebra system.
96+
97+
#### Updated packages redistributed with GAP
98+
99+
The GAP 4.15.0 distribution contains 164 packages, of which 59 have been
100+
updated since GAP 4.14.0. The full list of updated packages is given below:
101+
102+
- [**ACE**](https://gap-packages.github.io/ace): 5.6.2 -> 5.7.0
103+
- [**AClib**](https://gap-packages.github.io/aclib/): 1.3.2 -> 1.3.3
104+
- [**ANUPQ**](https://gap-packages.github.io/anupq/): 3.3.1 -> 3.3.2
105+
- [**AutoDoc**](https://gap-packages.github.io/AutoDoc): 2023.06.19 -> 2025.05.09
106+
- [**AutomGrp**](https://gap-packages.github.io/automgrp): 1.3.2 -> 1.3.3
107+
- [**AutPGrp**](https://gap-packages.github.io/autpgrp/): 1.11 -> 1.11.1
108+
- [**CAP**](https://homalg-project.github.io/pkg/CAP): 2024.11-02 -> 2025.08-03
109+
- [**CddInterface**](https://homalg-project.github.io/CddInterface): 2024.09.02 -> 2025.06.24
110+
- [**CRISP**](https://github.com/bh11/crisp/): 1.4.6 -> 1.4.8
111+
- [**crypting**](https://gap-packages.github.io/crypting/): 0.10.5 -> 0.10.6
112+
- [**Cryst**](https://www.math.uni-bielefeld.de/~gaehler/gap/packages.php): 4.1.27 -> 4.1.29
113+
- [**CTblLib**](https://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib): 1.3.9 -> 1.3.11
114+
- [**Cubefree**](https://gap-packages.github.io/cubefree/): 1.20 -> 1.21
115+
- [**curlInterface**](https://gap-packages.github.io/curlInterface/): 2.4.0 -> 2.4.2
116+
- [**cvec**](https://gap-packages.github.io/cvec): 2.8.2 -> 2.8.4
117+
- [**datastructures**](https://gap-packages.github.io/datastructures): 0.3.1 -> 0.3.3
118+
- [**DeepThought**](https://gap-packages.github.io/DeepThought/): 1.0.7 -> 1.0.9
119+
- [**Digraphs**](https://digraphs.github.io/Digraphs): 1.9.0 -> 1.11.0
120+
- [**Example**](https://gap-packages.github.io/example): 4.4.0 -> 4.4.1
121+
- [**float**](https://gap-packages.github.io/float/): 1.0.5 -> 1.0.9
122+
- [**Forms**](https://gap-packages.github.io/forms): 1.2.12 -> 1.2.13
123+
- [**FPLSA**](https://gap-packages.github.io/FPLSA): 1.2.6 -> 1.2.7
124+
- [**GeneralizedMorphismsForCAP**](https://homalg-project.github.io/pkg/GeneralizedMorphismsForCAP): 2024.09-03 -> 2025.08-01
125+
- [**GradedModules**](https://homalg-project.github.io/pkg/GradedModules): 2024.01-01 -> 2024.12-01
126+
- [**groupoids**](https://gap-packages.github.io/groupoids/): 1.76 -> 1.78
127+
- [**GUAVA**](https://gap-packages.github.io/guava): 3.19 -> 3.20
128+
- [**HAP**](https://gap-packages.github.io/hap): 1.66 -> 1.70
129+
- [**IO**](https://gap-packages.github.io/io): 4.9.1 -> 4.9.3
130+
- [**json**](https://gap-packages.github.io/json/): 2.2.2 -> 2.2.3
131+
- [**LinearAlgebraForCAP**](https://homalg-project.github.io/pkg/LinearAlgebraForCAP): 2024.10-01 -> 2025.08-02
132+
- [**matgrp**](https://www.math.colostate.edu/~hulpke/matgrp): 0.71 -> 0.72
133+
- [**MatricesForHomalg**](https://homalg-project.github.io/pkg/MatricesForHomalg): 2024.11-02 -> 2025.08-01
134+
- [**ModulePresentationsForCAP**](https://homalg-project.github.io/pkg/ModulePresentationsForCAP): 2024.09-02 -> 2025.08-02
135+
- [**Modules**](https://homalg-project.github.io/pkg/Modules): 2024.01-01 -> 2024.12-01
136+
- [**MonoidalCategories**](https://homalg-project.github.io/pkg/MonoidalCategories): 2024.09-05 -> 2025.08-02
137+
- [**NConvex**](https://homalg-project.github.io/pkg/NConvex): 2022.09-01 -> 2024.12-01
138+
- [**NormalizInterface**](https://gap-packages.github.io/NormalizInterface): 1.3.7 -> 1.4.1
139+
- [**orb**](https://gap-packages.github.io/orb): 4.9.1 -> 5.0.1
140+
- [**PackageManager**](https://gap-packages.github.io/PackageManager/): 1.6 -> 1.6.3
141+
- [**Polenta**](https://gap-packages.github.io/polenta/): 1.3.10 -> 1.3.11
142+
- [**Polycyclic**](https://gap-packages.github.io/polycyclic/): 2.16 -> 2.17
143+
- [**PrimGrp**](https://gap-packages.github.io/primgrp/): 3.4.4 -> 4.0.0
144+
- [**profiling**](https://gap-packages.github.io/profiling/): 2.6.0 -> 2.6.2
145+
- [**QDistRnd**](https://QEC-pages.github.io/QDistRnd): 0.9.4 -> 0.9.5
146+
- [**recog**](https://gap-packages.github.io/recog): 1.4.3 -> 1.4.4
147+
- [**SCSCP**](https://gap-packages.github.io/scscp): 2.4.3 -> 2.4.4
148+
- [**Semigroups**](https://semigroups.github.io/Semigroups): 5.4.0 -> 5.5.4
149+
- [**singular**](https://gap-packages.github.io/singular/): 2024.06.03 -> 2025.08.26
150+
- [**smallantimagmas**](https://gap-packages.github.io/smallantimagmas): 0.2.12 -> 0.4.1
151+
- [**Smallsemi**](https://gap-packages.github.io/smallsemi/): 0.7.1 -> 0.7.2
152+
- [**ToolsForHomalg**](https://homalg-project.github.io/pkg/ToolsForHomalg): 2024.09-01 -> 2025.05-01
153+
- [**typeset**](https://gap-packages.github.io/typeset/): 1.2.2 -> 1.2.3
154+
- [**UnitLib**](https://gap-packages.github.io/unitlib): 4.2.0 -> 5.0.0
155+
- [**utils**](https://gap-packages.github.io/utils): 0.85 -> 0.91
156+
- [**Wedderga**](https://gap-packages.github.io/wedderga): 4.10.5 -> 4.11.1
157+
- [**XMod**](https://gap-packages.github.io/xmod/): 2.92 -> 2.95
158+
- [**XModAlg**](https://gap-packages.github.io/xmodalg/): 1.23 -> 1.32
159+
- [**YangBaxter**](https://gap-packages.github.io/YangBaxter): 0.10.6 -> 0.10.7
160+
- [**ZeroMQInterface**](https://gap-packages.github.io/ZeroMQInterface/): 0.16 -> 0.17
161+
162+
3163
## GAP 4.14.0 (December 2024)
4164

5165
The following gives an overview of the changes compared to the previous

dev/releases/release_notes.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ def changes_overview(
264264
]
265265
# Write out all PRs with 'use title'
266266
relnotes_file.write(
267-
f"""
267+
f"""# GAP - history of changes
268+
268269
## GAP {new_version} ({month} {year})
269270
270271
The following gives an overview of the changes compared to the previous

0 commit comments

Comments
 (0)