diff --git a/.VERSION b/.VERSION index 850e74240..141f2e805 100644 --- a/.VERSION +++ b/.VERSION @@ -1 +1 @@ -1.14.0 +1.15.0 diff --git a/.mailmap b/.mailmap index 971d20658..f27ef5b78 100644 --- a/.mailmap +++ b/.mailmap @@ -1,10 +1,13 @@ Marina Anagnostopoulou-Merkouri marinaanagno <66735004+marinaanagno@users.noreply.github.com> Cora Aked coraaked +Cora Aked Cora Aked Finn Buck Finnegan Buck <61651823+finnbuck@users.noreply.github.com> Stuart Burrell Stuart Burrell -Reinis Cirpons reiniscirpons <43414125+reiniscirpons@users.noreply.github.com> -Reinis Cirpons Reinis Cirpons <43414125+reiniscirpons@users.noreply.github.com> -Reinis Cirpons reiniscirpons +Reinis Cirpons reiniscirpons <43414125+reiniscirpons@users.noreply.github.com> +Reinis Cirpons Reinis Cirpons <43414125+reiniscirpons@users.noreply.github.com> +Reinis Cirpons reiniscirpons +Reinis Cirpons Reinis Cirpons +Reinis Cirpons reiniscirpons Devansh Chopra Devansh Chopra <92119416+devansh2605@users.noreply.github.com> Tom Conti-Leslie Tom Conti-Leslie <54725378+tomcontileslie@users.noreply.github.com> Tom Conti-Leslie Tom Conti-Leslie @@ -55,6 +58,8 @@ Kamran Sharma Kamran Sharma <47451735+KamranKSharma@user Finn Smith Finlay Smith Finn Smith flsmith Finn Smith Finn Smith +Anuj Thakur anujthak <157058240+anujthak@users.noreply.github.com> +Anuj Thakur Anuj Thakur Maria Tsalakou Maria Tsalakou <55688065+mariatsalakou@users.noreply.github.com> Agastyaa Vishvanath Agastyaa Vishvanath Agastyaa Vishvanath Blue RidingHood <103364667+BlueRidingHood@users.noreply.github.com> diff --git a/CHANGELOG.md b/CHANGELOG.md index f71dc6940..c06514248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,33 @@ Wilf A. Wilson, Michael Young et al. Licensing information can be found in the `LICENSE` file. +## Version 1.15.0 (released 06/07/2026) + +## What's Changed +- kernel: fix issues with assumptions in `IS_ACYCLIC_DIGRAPH` by @james-d-mitchell in https://github.com/digraphs/Digraphs/pull/901 +- Update codecov by @Joseph-Edwards in https://github.com/digraphs/Digraphs/pull/903 +- Improve the documentation of the Digraph encoding formats by @anujthak in https://github.com/digraphs/Digraphs/pull/897 +- Implement `IsCograph` with bug fixes by @frankiegillis in https://github.com/digraphs/Digraphs/pull/904 +- Add unitedgeweight digraph by @coraaked in https://github.com/digraphs/Digraphs/pull/886 +- Edge weights #7: DotEdgeWeightedDigraph by @mtorpey in https://github.com/digraphs/Digraphs/pull/892 +- Implementing Colour Refinement by @RheyaM in https://github.com/digraphs/Digraphs/pull/905 +- attr.gi code coverage by @mtorpey in https://github.com/digraphs/Digraphs/pull/919 +- Digraph decode/encode by @anujthak in https://github.com/digraphs/Digraphs/pull/912 +- Cliques coverage by @mtorpey in https://github.com/digraphs/Digraphs/pull/923 +- Correct Mutability of LineDigraph by @mtorpey in https://github.com/digraphs/Digraphs/pull/926 +- CI: use configflags instead of CONFIGFLAGS by @fingolfin in https://github.com/digraphs/Digraphs/pull/925 +- Tests for AsSemigroup with 4 arguments by @mtorpey in https://github.com/digraphs/Digraphs/pull/927 +- grahom.gi test coverage by @mtorpey in https://github.com/digraphs/Digraphs/pull/928 +- Update pdflatex command for nonstop mode by @james-d-mitchell in https://github.com/digraphs/Digraphs/pull/933 +- Update my details in `PackageInfo.g` by @reiniscirpons in https://github.com/digraphs/Digraphs/pull/935 +- build: support EAPS 5 by @jengelh in https://github.com/digraphs/Digraphs/pull/937 + +## New Contributors +- @anujthak made their first contribution in +https://github.com/digraphs/Digraphs/pull/897 + +**Full Changelog**: https://github.com/digraphs/Digraphs/compare/v1.14.0...v1.15.0 + ## Version 1.14.0 (released 22/01/2026) ## What's Changed diff --git a/PackageInfo.g b/PackageInfo.g index fc2385239..9e955be68 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -38,8 +38,8 @@ fi; SetPackageInfo(rec( PackageName := "Digraphs", Subtitle := "Graphs, digraphs, and multidigraphs in GAP", -Version := "1.14.0", -Date := "22/01/2026", # dd/mm/yyyy format +Version := "1.15.0", +Date := "06/07/2026", # dd/mm/yyyy format License := "GPL-3.0-or-later", ArchiveFormats := ".tar.gz", @@ -496,6 +496,14 @@ Persons := [ Email := "bspiers972@outlook.com", GithubUsername := "bspiers"), + rec( + LastName := "Thakur", + FirstNames := "Anuj", + IsAuthor := true, + IsMaintainer := false, + Email := "anujthakur@berkeley.edu", + GithubUsername := "anujthak"), + rec( LastName := "Tsalakou", FirstNames := "Maria", diff --git a/VERSIONS b/VERSIONS index 8cbec17bb..fb8ea6edf 100644 --- a/VERSIONS +++ b/VERSIONS @@ -8,6 +8,7 @@ ############################################################################# ## +release 1.15.0 - 06/07/2026 release 1.14.0 - 22/01/2026 release 1.13.1 - 27/09/2025 release 1.13.0 - 26/09/2025 diff --git a/etc/find_not_included_man_sections.py b/etc/find_not_included_man_sections.py new file mode 100755 index 000000000..cd07941ef --- /dev/null +++ b/etc/find_not_included_man_sections.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 + + +import sys +import re +from pathlib import Path, PosixPath + + +def is_in_xml_comment(s: str, pos: int) -> bool: + last_open = s.rfind("", 0, pos) + return last_open != -1 and last_open > last_close + + +def extract(path: PosixPath, pattern: re.Pattern) -> dict: + result = dict() + content = path.read_text(errors="ignore") + for i, line in enumerate(content.splitlines(), 1): + match = pattern.search(line) + if match: + result[match.group(1)] = f"{path}:{i}" + return result + + +def main() -> int: + labels, includes = dict(), dict() + label_pattern = re.compile(r'<#GAPDoc\s+Label\s*=\s*"(\w+)">') + include_pattern = re.compile(r'<#Include\s+Label\s*=\s*"(\w+)"') + for path in sorted(Path("doc/").glob("*.xml")): + if not path.name.startswith("_"): + labels |= extract(path, label_pattern) + includes |= extract(path, include_pattern) + + first_print = True + for label, loc in labels.items(): + if label not in includes: + if first_print: + first_print = False + print( + "The following labels were found without a corresponding include:" + ) + print(f"{loc}: {label}") + + +if __name__ == "__main__": + main() + sys.exit(0)